@samline/drawer 2.0.3 → 2.0.4
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.
- package/dist/browser/index.cjs +51 -6
- package/dist/browser/index.js +51 -6
- package/dist/browser/index.mjs +51 -6
- package/dist/index.js +51 -6
- package/dist/index.mjs +51 -6
- package/dist/react/index.js +66 -10
- package/dist/react/index.mjs +66 -10
- package/dist/svelte/index.js +51 -6
- package/dist/svelte/index.mjs +51 -6
- package/dist/vue/index.js +51 -6
- package/dist/vue/index.mjs +51 -6
- package/package.json +1 -1
package/dist/browser/index.cjs
CHANGED
|
@@ -28778,11 +28778,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28778
28778
|
fadeFromIndex: void 0
|
|
28779
28779
|
};
|
|
28780
28780
|
}
|
|
28781
|
-
function VanillaNode({
|
|
28781
|
+
function VanillaNode({
|
|
28782
|
+
value,
|
|
28783
|
+
dataAttribute
|
|
28784
|
+
}) {
|
|
28782
28785
|
const ref = import_react10.default.useRef(null);
|
|
28783
28786
|
useSafeLayoutEffect(() => {
|
|
28784
28787
|
const element = ref.current;
|
|
28785
|
-
if (!element)
|
|
28788
|
+
if (!element) {
|
|
28789
|
+
return;
|
|
28790
|
+
}
|
|
28786
28791
|
element.innerHTML = "";
|
|
28787
28792
|
if (value instanceof HTMLElement) {
|
|
28788
28793
|
element.appendChild(value);
|
|
@@ -28803,6 +28808,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28803
28808
|
}
|
|
28804
28809
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28805
28810
|
}
|
|
28811
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28812
|
+
if (!root || !elementId) {
|
|
28813
|
+
return void 0;
|
|
28814
|
+
}
|
|
28815
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28816
|
+
for (const element of elements) {
|
|
28817
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28818
|
+
const value = element.textContent?.trim();
|
|
28819
|
+
return value ? value : void 0;
|
|
28820
|
+
}
|
|
28821
|
+
}
|
|
28822
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28823
|
+
}
|
|
28806
28824
|
function VanillaDrawerRenderer({
|
|
28807
28825
|
options,
|
|
28808
28826
|
open,
|
|
@@ -28831,16 +28849,43 @@ function VanillaDrawerRenderer({
|
|
|
28831
28849
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28832
28850
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28833
28851
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28852
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28853
|
+
if (content instanceof HTMLElement) {
|
|
28854
|
+
return {
|
|
28855
|
+
value: content,
|
|
28856
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28857
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28858
|
+
};
|
|
28859
|
+
}
|
|
28860
|
+
if (typeof content === "function") {
|
|
28861
|
+
const result = content();
|
|
28862
|
+
return {
|
|
28863
|
+
value: result,
|
|
28864
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28865
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28866
|
+
};
|
|
28867
|
+
}
|
|
28868
|
+
return {
|
|
28869
|
+
value: content,
|
|
28870
|
+
proxyTitle: void 0,
|
|
28871
|
+
proxyDescription: void 0
|
|
28872
|
+
};
|
|
28873
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28874
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28875
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28876
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28877
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28878
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28834
28879
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28835
28880
|
Drawer.Content,
|
|
28836
28881
|
{
|
|
28837
28882
|
className: contentClassName,
|
|
28838
|
-
"aria-label":
|
|
28839
|
-
"aria-labelledby":
|
|
28840
|
-
"aria-describedby":
|
|
28883
|
+
"aria-label": contentAriaLabel,
|
|
28884
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28885
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28841
28886
|
},
|
|
28842
28887
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28843
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28888
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28844
28889
|
)));
|
|
28845
28890
|
}
|
|
28846
28891
|
|
package/dist/browser/index.js
CHANGED
|
@@ -28778,11 +28778,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
28778
28778
|
fadeFromIndex: void 0
|
|
28779
28779
|
};
|
|
28780
28780
|
}
|
|
28781
|
-
function VanillaNode({
|
|
28781
|
+
function VanillaNode({
|
|
28782
|
+
value,
|
|
28783
|
+
dataAttribute
|
|
28784
|
+
}) {
|
|
28782
28785
|
const ref = import_react10.default.useRef(null);
|
|
28783
28786
|
useSafeLayoutEffect(() => {
|
|
28784
28787
|
const element = ref.current;
|
|
28785
|
-
if (!element)
|
|
28788
|
+
if (!element) {
|
|
28789
|
+
return;
|
|
28790
|
+
}
|
|
28786
28791
|
element.innerHTML = "";
|
|
28787
28792
|
if (value instanceof HTMLElement) {
|
|
28788
28793
|
element.appendChild(value);
|
|
@@ -28803,6 +28808,19 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
28803
28808
|
}
|
|
28804
28809
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28805
28810
|
}
|
|
28811
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28812
|
+
if (!root || !elementId) {
|
|
28813
|
+
return void 0;
|
|
28814
|
+
}
|
|
28815
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28816
|
+
for (const element of elements) {
|
|
28817
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28818
|
+
const value = element.textContent?.trim();
|
|
28819
|
+
return value ? value : void 0;
|
|
28820
|
+
}
|
|
28821
|
+
}
|
|
28822
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28823
|
+
}
|
|
28806
28824
|
function VanillaDrawerRenderer({
|
|
28807
28825
|
options,
|
|
28808
28826
|
open,
|
|
@@ -28831,16 +28849,43 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
|
|
|
28831
28849
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28832
28850
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28833
28851
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28852
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28853
|
+
if (content instanceof HTMLElement) {
|
|
28854
|
+
return {
|
|
28855
|
+
value: content,
|
|
28856
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28857
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28858
|
+
};
|
|
28859
|
+
}
|
|
28860
|
+
if (typeof content === "function") {
|
|
28861
|
+
const result = content();
|
|
28862
|
+
return {
|
|
28863
|
+
value: result,
|
|
28864
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28865
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28866
|
+
};
|
|
28867
|
+
}
|
|
28868
|
+
return {
|
|
28869
|
+
value: content,
|
|
28870
|
+
proxyTitle: void 0,
|
|
28871
|
+
proxyDescription: void 0
|
|
28872
|
+
};
|
|
28873
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28874
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28875
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28876
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28877
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28878
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28834
28879
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28835
28880
|
Drawer.Content,
|
|
28836
28881
|
{
|
|
28837
28882
|
className: contentClassName,
|
|
28838
|
-
"aria-label":
|
|
28839
|
-
"aria-labelledby":
|
|
28840
|
-
"aria-describedby":
|
|
28883
|
+
"aria-label": contentAriaLabel,
|
|
28884
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28885
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28841
28886
|
},
|
|
28842
28887
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28843
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28888
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28844
28889
|
)));
|
|
28845
28890
|
}
|
|
28846
28891
|
|
package/dist/browser/index.mjs
CHANGED
|
@@ -28752,11 +28752,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28752
28752
|
fadeFromIndex: void 0
|
|
28753
28753
|
};
|
|
28754
28754
|
}
|
|
28755
|
-
function VanillaNode({
|
|
28755
|
+
function VanillaNode({
|
|
28756
|
+
value,
|
|
28757
|
+
dataAttribute
|
|
28758
|
+
}) {
|
|
28756
28759
|
const ref = import_react10.default.useRef(null);
|
|
28757
28760
|
useSafeLayoutEffect(() => {
|
|
28758
28761
|
const element = ref.current;
|
|
28759
|
-
if (!element)
|
|
28762
|
+
if (!element) {
|
|
28763
|
+
return;
|
|
28764
|
+
}
|
|
28760
28765
|
element.innerHTML = "";
|
|
28761
28766
|
if (value instanceof HTMLElement) {
|
|
28762
28767
|
element.appendChild(value);
|
|
@@ -28777,6 +28782,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28777
28782
|
}
|
|
28778
28783
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28779
28784
|
}
|
|
28785
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28786
|
+
if (!root || !elementId) {
|
|
28787
|
+
return void 0;
|
|
28788
|
+
}
|
|
28789
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28790
|
+
for (const element of elements) {
|
|
28791
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28792
|
+
const value = element.textContent?.trim();
|
|
28793
|
+
return value ? value : void 0;
|
|
28794
|
+
}
|
|
28795
|
+
}
|
|
28796
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28797
|
+
}
|
|
28780
28798
|
function VanillaDrawerRenderer({
|
|
28781
28799
|
options,
|
|
28782
28800
|
open,
|
|
@@ -28805,16 +28823,43 @@ function VanillaDrawerRenderer({
|
|
|
28805
28823
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28806
28824
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28807
28825
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28826
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28827
|
+
if (content instanceof HTMLElement) {
|
|
28828
|
+
return {
|
|
28829
|
+
value: content,
|
|
28830
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28831
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28832
|
+
};
|
|
28833
|
+
}
|
|
28834
|
+
if (typeof content === "function") {
|
|
28835
|
+
const result = content();
|
|
28836
|
+
return {
|
|
28837
|
+
value: result,
|
|
28838
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28839
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28840
|
+
};
|
|
28841
|
+
}
|
|
28842
|
+
return {
|
|
28843
|
+
value: content,
|
|
28844
|
+
proxyTitle: void 0,
|
|
28845
|
+
proxyDescription: void 0
|
|
28846
|
+
};
|
|
28847
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28848
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28849
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28850
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28851
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28852
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28808
28853
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28809
28854
|
Drawer.Content,
|
|
28810
28855
|
{
|
|
28811
28856
|
className: contentClassName,
|
|
28812
|
-
"aria-label":
|
|
28813
|
-
"aria-labelledby":
|
|
28814
|
-
"aria-describedby":
|
|
28857
|
+
"aria-label": contentAriaLabel,
|
|
28858
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28859
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28815
28860
|
},
|
|
28816
28861
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28817
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28862
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28818
28863
|
)));
|
|
28819
28864
|
}
|
|
28820
28865
|
|
package/dist/index.js
CHANGED
|
@@ -28777,11 +28777,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28777
28777
|
fadeFromIndex: void 0
|
|
28778
28778
|
};
|
|
28779
28779
|
}
|
|
28780
|
-
function VanillaNode({
|
|
28780
|
+
function VanillaNode({
|
|
28781
|
+
value,
|
|
28782
|
+
dataAttribute
|
|
28783
|
+
}) {
|
|
28781
28784
|
const ref = import_react10.default.useRef(null);
|
|
28782
28785
|
useSafeLayoutEffect(() => {
|
|
28783
28786
|
const element = ref.current;
|
|
28784
|
-
if (!element)
|
|
28787
|
+
if (!element) {
|
|
28788
|
+
return;
|
|
28789
|
+
}
|
|
28785
28790
|
element.innerHTML = "";
|
|
28786
28791
|
if (value instanceof HTMLElement) {
|
|
28787
28792
|
element.appendChild(value);
|
|
@@ -28802,6 +28807,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28802
28807
|
}
|
|
28803
28808
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28804
28809
|
}
|
|
28810
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28811
|
+
if (!root || !elementId) {
|
|
28812
|
+
return void 0;
|
|
28813
|
+
}
|
|
28814
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28815
|
+
for (const element of elements) {
|
|
28816
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28817
|
+
const value = element.textContent?.trim();
|
|
28818
|
+
return value ? value : void 0;
|
|
28819
|
+
}
|
|
28820
|
+
}
|
|
28821
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28822
|
+
}
|
|
28805
28823
|
function VanillaDrawerRenderer({
|
|
28806
28824
|
options,
|
|
28807
28825
|
open,
|
|
@@ -28830,16 +28848,43 @@ function VanillaDrawerRenderer({
|
|
|
28830
28848
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28831
28849
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28832
28850
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28851
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28852
|
+
if (content instanceof HTMLElement) {
|
|
28853
|
+
return {
|
|
28854
|
+
value: content,
|
|
28855
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28856
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28857
|
+
};
|
|
28858
|
+
}
|
|
28859
|
+
if (typeof content === "function") {
|
|
28860
|
+
const result = content();
|
|
28861
|
+
return {
|
|
28862
|
+
value: result,
|
|
28863
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28864
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28865
|
+
};
|
|
28866
|
+
}
|
|
28867
|
+
return {
|
|
28868
|
+
value: content,
|
|
28869
|
+
proxyTitle: void 0,
|
|
28870
|
+
proxyDescription: void 0
|
|
28871
|
+
};
|
|
28872
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28873
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28874
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28875
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28876
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28877
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28833
28878
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28834
28879
|
Drawer.Content,
|
|
28835
28880
|
{
|
|
28836
28881
|
className: contentClassName,
|
|
28837
|
-
"aria-label":
|
|
28838
|
-
"aria-labelledby":
|
|
28839
|
-
"aria-describedby":
|
|
28882
|
+
"aria-label": contentAriaLabel,
|
|
28883
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28884
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28840
28885
|
},
|
|
28841
28886
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28842
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28887
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28843
28888
|
)));
|
|
28844
28889
|
}
|
|
28845
28890
|
|
package/dist/index.mjs
CHANGED
|
@@ -28752,11 +28752,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28752
28752
|
fadeFromIndex: void 0
|
|
28753
28753
|
};
|
|
28754
28754
|
}
|
|
28755
|
-
function VanillaNode({
|
|
28755
|
+
function VanillaNode({
|
|
28756
|
+
value,
|
|
28757
|
+
dataAttribute
|
|
28758
|
+
}) {
|
|
28756
28759
|
const ref = import_react10.default.useRef(null);
|
|
28757
28760
|
useSafeLayoutEffect(() => {
|
|
28758
28761
|
const element = ref.current;
|
|
28759
|
-
if (!element)
|
|
28762
|
+
if (!element) {
|
|
28763
|
+
return;
|
|
28764
|
+
}
|
|
28760
28765
|
element.innerHTML = "";
|
|
28761
28766
|
if (value instanceof HTMLElement) {
|
|
28762
28767
|
element.appendChild(value);
|
|
@@ -28777,6 +28782,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28777
28782
|
}
|
|
28778
28783
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28779
28784
|
}
|
|
28785
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28786
|
+
if (!root || !elementId) {
|
|
28787
|
+
return void 0;
|
|
28788
|
+
}
|
|
28789
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28790
|
+
for (const element of elements) {
|
|
28791
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28792
|
+
const value = element.textContent?.trim();
|
|
28793
|
+
return value ? value : void 0;
|
|
28794
|
+
}
|
|
28795
|
+
}
|
|
28796
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28797
|
+
}
|
|
28780
28798
|
function VanillaDrawerRenderer({
|
|
28781
28799
|
options,
|
|
28782
28800
|
open,
|
|
@@ -28805,16 +28823,43 @@ function VanillaDrawerRenderer({
|
|
|
28805
28823
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28806
28824
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28807
28825
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28826
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28827
|
+
if (content instanceof HTMLElement) {
|
|
28828
|
+
return {
|
|
28829
|
+
value: content,
|
|
28830
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28831
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28832
|
+
};
|
|
28833
|
+
}
|
|
28834
|
+
if (typeof content === "function") {
|
|
28835
|
+
const result = content();
|
|
28836
|
+
return {
|
|
28837
|
+
value: result,
|
|
28838
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28839
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28840
|
+
};
|
|
28841
|
+
}
|
|
28842
|
+
return {
|
|
28843
|
+
value: content,
|
|
28844
|
+
proxyTitle: void 0,
|
|
28845
|
+
proxyDescription: void 0
|
|
28846
|
+
};
|
|
28847
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28848
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28849
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28850
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28851
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28852
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28808
28853
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28809
28854
|
Drawer.Content,
|
|
28810
28855
|
{
|
|
28811
28856
|
className: contentClassName,
|
|
28812
|
-
"aria-label":
|
|
28813
|
-
"aria-labelledby":
|
|
28814
|
-
"aria-describedby":
|
|
28857
|
+
"aria-label": contentAriaLabel,
|
|
28858
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28859
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28815
28860
|
},
|
|
28816
28861
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28817
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28862
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28818
28863
|
)));
|
|
28819
28864
|
}
|
|
28820
28865
|
|
package/dist/react/index.js
CHANGED
|
@@ -2254,7 +2254,9 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
2254
2254
|
const ref = React__namespace.default.useRef(null);
|
|
2255
2255
|
useSafeLayoutEffect(()=>{
|
|
2256
2256
|
const element = ref.current;
|
|
2257
|
-
if (!element)
|
|
2257
|
+
if (!element) {
|
|
2258
|
+
return;
|
|
2259
|
+
}
|
|
2258
2260
|
element.innerHTML = '';
|
|
2259
2261
|
if (value instanceof HTMLElement) {
|
|
2260
2262
|
element.appendChild(value);
|
|
@@ -2282,11 +2284,60 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
2282
2284
|
ref: ref
|
|
2283
2285
|
});
|
|
2284
2286
|
}
|
|
2287
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
2288
|
+
var _root_textContent;
|
|
2289
|
+
if (!root || !elementId) {
|
|
2290
|
+
return undefined;
|
|
2291
|
+
}
|
|
2292
|
+
const elements = Array.from(root.querySelectorAll('[id]'));
|
|
2293
|
+
for (const element of elements){
|
|
2294
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
2295
|
+
var _element_textContent;
|
|
2296
|
+
const value = (_element_textContent = element.textContent) == null ? void 0 : _element_textContent.trim();
|
|
2297
|
+
return value ? value : undefined;
|
|
2298
|
+
}
|
|
2299
|
+
}
|
|
2300
|
+
return root.id === elementId ? ((_root_textContent = root.textContent) == null ? void 0 : _root_textContent.trim()) || undefined : undefined;
|
|
2301
|
+
}
|
|
2285
2302
|
function VanillaDrawerRenderer({ options, open, onOpenChange, onDragChange, onReleaseChange }) {
|
|
2303
|
+
var _resolvedContent_proxyTitle;
|
|
2286
2304
|
const { mountElement: _mountElement, triggerElement: _triggerElement, triggerText, showHandle, handleClassName, ariaLabel, ariaLabelledBy, ariaDescribedBy, title, titleVisuallyHidden, description, descriptionVisuallyHidden, content, overlayClassName, contentClassName, ...drawerOptions } = options;
|
|
2287
2305
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
2288
2306
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
2289
2307
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
2308
|
+
const resolvedContent = React__namespace.default.useMemo(()=>{
|
|
2309
|
+
if (content instanceof HTMLElement) {
|
|
2310
|
+
return {
|
|
2311
|
+
value: content,
|
|
2312
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : undefined,
|
|
2313
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : undefined
|
|
2314
|
+
};
|
|
2315
|
+
}
|
|
2316
|
+
if (typeof content === 'function') {
|
|
2317
|
+
const result = content();
|
|
2318
|
+
return {
|
|
2319
|
+
value: result,
|
|
2320
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : undefined,
|
|
2321
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : undefined
|
|
2322
|
+
};
|
|
2323
|
+
}
|
|
2324
|
+
return {
|
|
2325
|
+
value: content,
|
|
2326
|
+
proxyTitle: undefined,
|
|
2327
|
+
proxyDescription: undefined
|
|
2328
|
+
};
|
|
2329
|
+
}, [
|
|
2330
|
+
ariaDescribedBy,
|
|
2331
|
+
ariaLabelledBy,
|
|
2332
|
+
content,
|
|
2333
|
+
description,
|
|
2334
|
+
title
|
|
2335
|
+
]);
|
|
2336
|
+
const proxyTitle = (_resolvedContent_proxyTitle = resolvedContent.proxyTitle) != null ? _resolvedContent_proxyTitle : title == null ? ariaLabel : undefined;
|
|
2337
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
2338
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : undefined;
|
|
2339
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : undefined;
|
|
2340
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : undefined;
|
|
2290
2341
|
return /*#__PURE__*/ React__namespace.default.createElement(Drawer.Root, rootProps, triggerText ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Trigger, {
|
|
2291
2342
|
asChild: true
|
|
2292
2343
|
}, /*#__PURE__*/ React__namespace.default.createElement("button", {
|
|
@@ -2296,25 +2347,30 @@ function VanillaDrawerRenderer({ options, open, onOpenChange, onDragChange, onRe
|
|
|
2296
2347
|
className: overlayClassName
|
|
2297
2348
|
}), /*#__PURE__*/ React__namespace.default.createElement(Drawer.Content, {
|
|
2298
2349
|
className: contentClassName,
|
|
2299
|
-
"aria-label":
|
|
2300
|
-
"aria-labelledby":
|
|
2301
|
-
"aria-describedby":
|
|
2350
|
+
"aria-label": contentAriaLabel,
|
|
2351
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
2352
|
+
"aria-describedby": contentAriaDescribedBy
|
|
2302
2353
|
}, shouldRenderHandle ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Handle, {
|
|
2303
2354
|
className: handleClassName
|
|
2304
2355
|
}) : null, shouldRenderVanillaContent ? /*#__PURE__*/ React__namespace.default.createElement("div", {
|
|
2305
2356
|
"data-drawer-vanilla-node": ""
|
|
2306
|
-
},
|
|
2357
|
+
}, proxyTitle ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Title, {
|
|
2358
|
+
style: VISUALLY_HIDDEN_STYLE
|
|
2359
|
+
}, proxyTitle) : null, title != null ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Title, {
|
|
2307
2360
|
style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : undefined
|
|
2308
2361
|
}, /*#__PURE__*/ React__namespace.default.createElement(VanillaNode, {
|
|
2309
2362
|
value: title
|
|
2310
|
-
})) : null,
|
|
2363
|
+
})) : null, proxyDescription ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Description, {
|
|
2364
|
+
style: VISUALLY_HIDDEN_STYLE
|
|
2365
|
+
}, proxyDescription) : null, description != null ? /*#__PURE__*/ React__namespace.default.createElement(Drawer.Description, {
|
|
2311
2366
|
style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : undefined
|
|
2312
2367
|
}, /*#__PURE__*/ React__namespace.default.createElement(VanillaNode, {
|
|
2313
2368
|
value: description
|
|
2314
|
-
})) : null, /*#__PURE__*/ React__namespace.default.createElement(
|
|
2315
|
-
|
|
2316
|
-
|
|
2317
|
-
|
|
2369
|
+
})) : null, /*#__PURE__*/ React__namespace.default.createElement("div", {
|
|
2370
|
+
"data-drawer-vanilla-body": ""
|
|
2371
|
+
}, /*#__PURE__*/ React__namespace.default.createElement(VanillaNode, {
|
|
2372
|
+
value: resolvedContent.value
|
|
2373
|
+
}))) : null)));
|
|
2318
2374
|
}
|
|
2319
2375
|
|
|
2320
2376
|
function canUseDOM$1() {
|
package/dist/react/index.mjs
CHANGED
|
@@ -2232,7 +2232,9 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
2232
2232
|
const ref = React__default.useRef(null);
|
|
2233
2233
|
useSafeLayoutEffect(()=>{
|
|
2234
2234
|
const element = ref.current;
|
|
2235
|
-
if (!element)
|
|
2235
|
+
if (!element) {
|
|
2236
|
+
return;
|
|
2237
|
+
}
|
|
2236
2238
|
element.innerHTML = '';
|
|
2237
2239
|
if (value instanceof HTMLElement) {
|
|
2238
2240
|
element.appendChild(value);
|
|
@@ -2260,11 +2262,60 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
2260
2262
|
ref: ref
|
|
2261
2263
|
});
|
|
2262
2264
|
}
|
|
2265
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
2266
|
+
var _root_textContent;
|
|
2267
|
+
if (!root || !elementId) {
|
|
2268
|
+
return undefined;
|
|
2269
|
+
}
|
|
2270
|
+
const elements = Array.from(root.querySelectorAll('[id]'));
|
|
2271
|
+
for (const element of elements){
|
|
2272
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
2273
|
+
var _element_textContent;
|
|
2274
|
+
const value = (_element_textContent = element.textContent) == null ? void 0 : _element_textContent.trim();
|
|
2275
|
+
return value ? value : undefined;
|
|
2276
|
+
}
|
|
2277
|
+
}
|
|
2278
|
+
return root.id === elementId ? ((_root_textContent = root.textContent) == null ? void 0 : _root_textContent.trim()) || undefined : undefined;
|
|
2279
|
+
}
|
|
2263
2280
|
function VanillaDrawerRenderer({ options, open, onOpenChange, onDragChange, onReleaseChange }) {
|
|
2281
|
+
var _resolvedContent_proxyTitle;
|
|
2264
2282
|
const { mountElement: _mountElement, triggerElement: _triggerElement, triggerText, showHandle, handleClassName, ariaLabel, ariaLabelledBy, ariaDescribedBy, title, titleVisuallyHidden, description, descriptionVisuallyHidden, content, overlayClassName, contentClassName, ...drawerOptions } = options;
|
|
2265
2283
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
2266
2284
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
2267
2285
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
2286
|
+
const resolvedContent = React__default.useMemo(()=>{
|
|
2287
|
+
if (content instanceof HTMLElement) {
|
|
2288
|
+
return {
|
|
2289
|
+
value: content,
|
|
2290
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : undefined,
|
|
2291
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : undefined
|
|
2292
|
+
};
|
|
2293
|
+
}
|
|
2294
|
+
if (typeof content === 'function') {
|
|
2295
|
+
const result = content();
|
|
2296
|
+
return {
|
|
2297
|
+
value: result,
|
|
2298
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : undefined,
|
|
2299
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : undefined
|
|
2300
|
+
};
|
|
2301
|
+
}
|
|
2302
|
+
return {
|
|
2303
|
+
value: content,
|
|
2304
|
+
proxyTitle: undefined,
|
|
2305
|
+
proxyDescription: undefined
|
|
2306
|
+
};
|
|
2307
|
+
}, [
|
|
2308
|
+
ariaDescribedBy,
|
|
2309
|
+
ariaLabelledBy,
|
|
2310
|
+
content,
|
|
2311
|
+
description,
|
|
2312
|
+
title
|
|
2313
|
+
]);
|
|
2314
|
+
const proxyTitle = (_resolvedContent_proxyTitle = resolvedContent.proxyTitle) != null ? _resolvedContent_proxyTitle : title == null ? ariaLabel : undefined;
|
|
2315
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
2316
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : undefined;
|
|
2317
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : undefined;
|
|
2318
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : undefined;
|
|
2268
2319
|
return /*#__PURE__*/ React__default.createElement(Drawer.Root, rootProps, triggerText ? /*#__PURE__*/ React__default.createElement(Drawer.Trigger, {
|
|
2269
2320
|
asChild: true
|
|
2270
2321
|
}, /*#__PURE__*/ React__default.createElement("button", {
|
|
@@ -2274,25 +2325,30 @@ function VanillaDrawerRenderer({ options, open, onOpenChange, onDragChange, onRe
|
|
|
2274
2325
|
className: overlayClassName
|
|
2275
2326
|
}), /*#__PURE__*/ React__default.createElement(Drawer.Content, {
|
|
2276
2327
|
className: contentClassName,
|
|
2277
|
-
"aria-label":
|
|
2278
|
-
"aria-labelledby":
|
|
2279
|
-
"aria-describedby":
|
|
2328
|
+
"aria-label": contentAriaLabel,
|
|
2329
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
2330
|
+
"aria-describedby": contentAriaDescribedBy
|
|
2280
2331
|
}, shouldRenderHandle ? /*#__PURE__*/ React__default.createElement(Drawer.Handle, {
|
|
2281
2332
|
className: handleClassName
|
|
2282
2333
|
}) : null, shouldRenderVanillaContent ? /*#__PURE__*/ React__default.createElement("div", {
|
|
2283
2334
|
"data-drawer-vanilla-node": ""
|
|
2284
|
-
},
|
|
2335
|
+
}, proxyTitle ? /*#__PURE__*/ React__default.createElement(Drawer.Title, {
|
|
2336
|
+
style: VISUALLY_HIDDEN_STYLE
|
|
2337
|
+
}, proxyTitle) : null, title != null ? /*#__PURE__*/ React__default.createElement(Drawer.Title, {
|
|
2285
2338
|
style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : undefined
|
|
2286
2339
|
}, /*#__PURE__*/ React__default.createElement(VanillaNode, {
|
|
2287
2340
|
value: title
|
|
2288
|
-
})) : null,
|
|
2341
|
+
})) : null, proxyDescription ? /*#__PURE__*/ React__default.createElement(Drawer.Description, {
|
|
2342
|
+
style: VISUALLY_HIDDEN_STYLE
|
|
2343
|
+
}, proxyDescription) : null, description != null ? /*#__PURE__*/ React__default.createElement(Drawer.Description, {
|
|
2289
2344
|
style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : undefined
|
|
2290
2345
|
}, /*#__PURE__*/ React__default.createElement(VanillaNode, {
|
|
2291
2346
|
value: description
|
|
2292
|
-
})) : null, /*#__PURE__*/ React__default.createElement(
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2347
|
+
})) : null, /*#__PURE__*/ React__default.createElement("div", {
|
|
2348
|
+
"data-drawer-vanilla-body": ""
|
|
2349
|
+
}, /*#__PURE__*/ React__default.createElement(VanillaNode, {
|
|
2350
|
+
value: resolvedContent.value
|
|
2351
|
+
}))) : null)));
|
|
2296
2352
|
}
|
|
2297
2353
|
|
|
2298
2354
|
function canUseDOM$1() {
|
package/dist/svelte/index.js
CHANGED
|
@@ -28780,11 +28780,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28780
28780
|
fadeFromIndex: void 0
|
|
28781
28781
|
};
|
|
28782
28782
|
}
|
|
28783
|
-
function VanillaNode({
|
|
28783
|
+
function VanillaNode({
|
|
28784
|
+
value,
|
|
28785
|
+
dataAttribute
|
|
28786
|
+
}) {
|
|
28784
28787
|
const ref = import_react10.default.useRef(null);
|
|
28785
28788
|
useSafeLayoutEffect(() => {
|
|
28786
28789
|
const element = ref.current;
|
|
28787
|
-
if (!element)
|
|
28790
|
+
if (!element) {
|
|
28791
|
+
return;
|
|
28792
|
+
}
|
|
28788
28793
|
element.innerHTML = "";
|
|
28789
28794
|
if (value instanceof HTMLElement) {
|
|
28790
28795
|
element.appendChild(value);
|
|
@@ -28805,6 +28810,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28805
28810
|
}
|
|
28806
28811
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28807
28812
|
}
|
|
28813
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28814
|
+
if (!root || !elementId) {
|
|
28815
|
+
return void 0;
|
|
28816
|
+
}
|
|
28817
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28818
|
+
for (const element of elements) {
|
|
28819
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28820
|
+
const value = element.textContent?.trim();
|
|
28821
|
+
return value ? value : void 0;
|
|
28822
|
+
}
|
|
28823
|
+
}
|
|
28824
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28825
|
+
}
|
|
28808
28826
|
function VanillaDrawerRenderer({
|
|
28809
28827
|
options,
|
|
28810
28828
|
open,
|
|
@@ -28833,16 +28851,43 @@ function VanillaDrawerRenderer({
|
|
|
28833
28851
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28834
28852
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28835
28853
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28854
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28855
|
+
if (content instanceof HTMLElement) {
|
|
28856
|
+
return {
|
|
28857
|
+
value: content,
|
|
28858
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28859
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28860
|
+
};
|
|
28861
|
+
}
|
|
28862
|
+
if (typeof content === "function") {
|
|
28863
|
+
const result = content();
|
|
28864
|
+
return {
|
|
28865
|
+
value: result,
|
|
28866
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28867
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28868
|
+
};
|
|
28869
|
+
}
|
|
28870
|
+
return {
|
|
28871
|
+
value: content,
|
|
28872
|
+
proxyTitle: void 0,
|
|
28873
|
+
proxyDescription: void 0
|
|
28874
|
+
};
|
|
28875
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28876
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28877
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28878
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28879
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28880
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28836
28881
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28837
28882
|
Drawer.Content,
|
|
28838
28883
|
{
|
|
28839
28884
|
className: contentClassName,
|
|
28840
|
-
"aria-label":
|
|
28841
|
-
"aria-labelledby":
|
|
28842
|
-
"aria-describedby":
|
|
28885
|
+
"aria-label": contentAriaLabel,
|
|
28886
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28887
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28843
28888
|
},
|
|
28844
28889
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28845
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28890
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28846
28891
|
)));
|
|
28847
28892
|
}
|
|
28848
28893
|
|
package/dist/svelte/index.mjs
CHANGED
|
@@ -28752,11 +28752,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28752
28752
|
fadeFromIndex: void 0
|
|
28753
28753
|
};
|
|
28754
28754
|
}
|
|
28755
|
-
function VanillaNode({
|
|
28755
|
+
function VanillaNode({
|
|
28756
|
+
value,
|
|
28757
|
+
dataAttribute
|
|
28758
|
+
}) {
|
|
28756
28759
|
const ref = import_react10.default.useRef(null);
|
|
28757
28760
|
useSafeLayoutEffect(() => {
|
|
28758
28761
|
const element = ref.current;
|
|
28759
|
-
if (!element)
|
|
28762
|
+
if (!element) {
|
|
28763
|
+
return;
|
|
28764
|
+
}
|
|
28760
28765
|
element.innerHTML = "";
|
|
28761
28766
|
if (value instanceof HTMLElement) {
|
|
28762
28767
|
element.appendChild(value);
|
|
@@ -28777,6 +28782,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28777
28782
|
}
|
|
28778
28783
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28779
28784
|
}
|
|
28785
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28786
|
+
if (!root || !elementId) {
|
|
28787
|
+
return void 0;
|
|
28788
|
+
}
|
|
28789
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28790
|
+
for (const element of elements) {
|
|
28791
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28792
|
+
const value = element.textContent?.trim();
|
|
28793
|
+
return value ? value : void 0;
|
|
28794
|
+
}
|
|
28795
|
+
}
|
|
28796
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28797
|
+
}
|
|
28780
28798
|
function VanillaDrawerRenderer({
|
|
28781
28799
|
options,
|
|
28782
28800
|
open,
|
|
@@ -28805,16 +28823,43 @@ function VanillaDrawerRenderer({
|
|
|
28805
28823
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28806
28824
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28807
28825
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28826
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28827
|
+
if (content instanceof HTMLElement) {
|
|
28828
|
+
return {
|
|
28829
|
+
value: content,
|
|
28830
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28831
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28832
|
+
};
|
|
28833
|
+
}
|
|
28834
|
+
if (typeof content === "function") {
|
|
28835
|
+
const result = content();
|
|
28836
|
+
return {
|
|
28837
|
+
value: result,
|
|
28838
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28839
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28840
|
+
};
|
|
28841
|
+
}
|
|
28842
|
+
return {
|
|
28843
|
+
value: content,
|
|
28844
|
+
proxyTitle: void 0,
|
|
28845
|
+
proxyDescription: void 0
|
|
28846
|
+
};
|
|
28847
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28848
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28849
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28850
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28851
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28852
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28808
28853
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28809
28854
|
Drawer.Content,
|
|
28810
28855
|
{
|
|
28811
28856
|
className: contentClassName,
|
|
28812
|
-
"aria-label":
|
|
28813
|
-
"aria-labelledby":
|
|
28814
|
-
"aria-describedby":
|
|
28857
|
+
"aria-label": contentAriaLabel,
|
|
28858
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28859
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28815
28860
|
},
|
|
28816
28861
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28817
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28862
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28818
28863
|
)));
|
|
28819
28864
|
}
|
|
28820
28865
|
|
package/dist/vue/index.js
CHANGED
|
@@ -28780,11 +28780,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28780
28780
|
fadeFromIndex: void 0
|
|
28781
28781
|
};
|
|
28782
28782
|
}
|
|
28783
|
-
function VanillaNode({
|
|
28783
|
+
function VanillaNode({
|
|
28784
|
+
value,
|
|
28785
|
+
dataAttribute
|
|
28786
|
+
}) {
|
|
28784
28787
|
const ref = import_react10.default.useRef(null);
|
|
28785
28788
|
useSafeLayoutEffect(() => {
|
|
28786
28789
|
const element = ref.current;
|
|
28787
|
-
if (!element)
|
|
28790
|
+
if (!element) {
|
|
28791
|
+
return;
|
|
28792
|
+
}
|
|
28788
28793
|
element.innerHTML = "";
|
|
28789
28794
|
if (value instanceof HTMLElement) {
|
|
28790
28795
|
element.appendChild(value);
|
|
@@ -28805,6 +28810,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28805
28810
|
}
|
|
28806
28811
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28807
28812
|
}
|
|
28813
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28814
|
+
if (!root || !elementId) {
|
|
28815
|
+
return void 0;
|
|
28816
|
+
}
|
|
28817
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28818
|
+
for (const element of elements) {
|
|
28819
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28820
|
+
const value = element.textContent?.trim();
|
|
28821
|
+
return value ? value : void 0;
|
|
28822
|
+
}
|
|
28823
|
+
}
|
|
28824
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28825
|
+
}
|
|
28808
28826
|
function VanillaDrawerRenderer({
|
|
28809
28827
|
options,
|
|
28810
28828
|
open,
|
|
@@ -28833,16 +28851,43 @@ function VanillaDrawerRenderer({
|
|
|
28833
28851
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28834
28852
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28835
28853
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28854
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28855
|
+
if (content instanceof HTMLElement) {
|
|
28856
|
+
return {
|
|
28857
|
+
value: content,
|
|
28858
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28859
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28860
|
+
};
|
|
28861
|
+
}
|
|
28862
|
+
if (typeof content === "function") {
|
|
28863
|
+
const result = content();
|
|
28864
|
+
return {
|
|
28865
|
+
value: result,
|
|
28866
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28867
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28868
|
+
};
|
|
28869
|
+
}
|
|
28870
|
+
return {
|
|
28871
|
+
value: content,
|
|
28872
|
+
proxyTitle: void 0,
|
|
28873
|
+
proxyDescription: void 0
|
|
28874
|
+
};
|
|
28875
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28876
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28877
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28878
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28879
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28880
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28836
28881
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28837
28882
|
Drawer.Content,
|
|
28838
28883
|
{
|
|
28839
28884
|
className: contentClassName,
|
|
28840
|
-
"aria-label":
|
|
28841
|
-
"aria-labelledby":
|
|
28842
|
-
"aria-describedby":
|
|
28885
|
+
"aria-label": contentAriaLabel,
|
|
28886
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28887
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28843
28888
|
},
|
|
28844
28889
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28845
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28890
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28846
28891
|
)));
|
|
28847
28892
|
}
|
|
28848
28893
|
|
package/dist/vue/index.mjs
CHANGED
|
@@ -28755,11 +28755,16 @@ function toReactDrawerProps(options, open, onOpenChange, internalOnDragChange, i
|
|
|
28755
28755
|
fadeFromIndex: void 0
|
|
28756
28756
|
};
|
|
28757
28757
|
}
|
|
28758
|
-
function VanillaNode({
|
|
28758
|
+
function VanillaNode({
|
|
28759
|
+
value,
|
|
28760
|
+
dataAttribute
|
|
28761
|
+
}) {
|
|
28759
28762
|
const ref = import_react10.default.useRef(null);
|
|
28760
28763
|
useSafeLayoutEffect(() => {
|
|
28761
28764
|
const element = ref.current;
|
|
28762
|
-
if (!element)
|
|
28765
|
+
if (!element) {
|
|
28766
|
+
return;
|
|
28767
|
+
}
|
|
28763
28768
|
element.innerHTML = "";
|
|
28764
28769
|
if (value instanceof HTMLElement) {
|
|
28765
28770
|
element.appendChild(value);
|
|
@@ -28780,6 +28785,19 @@ function VanillaNode({ value, dataAttribute }) {
|
|
|
28780
28785
|
}
|
|
28781
28786
|
return /* @__PURE__ */ import_react10.default.createElement("div", { ...dataAttribute ? { [dataAttribute]: "" } : {}, ref });
|
|
28782
28787
|
}
|
|
28788
|
+
function readAccessibleTextFromRoot(root, elementId) {
|
|
28789
|
+
if (!root || !elementId) {
|
|
28790
|
+
return void 0;
|
|
28791
|
+
}
|
|
28792
|
+
const elements = Array.from(root.querySelectorAll("[id]"));
|
|
28793
|
+
for (const element of elements) {
|
|
28794
|
+
if (element instanceof HTMLElement && element.id === elementId) {
|
|
28795
|
+
const value = element.textContent?.trim();
|
|
28796
|
+
return value ? value : void 0;
|
|
28797
|
+
}
|
|
28798
|
+
}
|
|
28799
|
+
return root.id === elementId ? root.textContent?.trim() || void 0 : void 0;
|
|
28800
|
+
}
|
|
28783
28801
|
function VanillaDrawerRenderer({
|
|
28784
28802
|
options,
|
|
28785
28803
|
open,
|
|
@@ -28808,16 +28826,43 @@ function VanillaDrawerRenderer({
|
|
|
28808
28826
|
const rootProps = toReactDrawerProps(drawerOptions, open, onOpenChange, onDragChange, onReleaseChange);
|
|
28809
28827
|
const shouldRenderHandle = Boolean(drawerOptions.handleOnly || showHandle);
|
|
28810
28828
|
const shouldRenderVanillaContent = title != null || description != null || content != null;
|
|
28829
|
+
const resolvedContent = import_react10.default.useMemo(() => {
|
|
28830
|
+
if (content instanceof HTMLElement) {
|
|
28831
|
+
return {
|
|
28832
|
+
value: content,
|
|
28833
|
+
proxyTitle: title == null ? readAccessibleTextFromRoot(content, ariaLabelledBy) : void 0,
|
|
28834
|
+
proxyDescription: description == null ? readAccessibleTextFromRoot(content, ariaDescribedBy) : void 0
|
|
28835
|
+
};
|
|
28836
|
+
}
|
|
28837
|
+
if (typeof content === "function") {
|
|
28838
|
+
const result = content();
|
|
28839
|
+
return {
|
|
28840
|
+
value: result,
|
|
28841
|
+
proxyTitle: title == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaLabelledBy) : void 0,
|
|
28842
|
+
proxyDescription: description == null && result instanceof HTMLElement ? readAccessibleTextFromRoot(result, ariaDescribedBy) : void 0
|
|
28843
|
+
};
|
|
28844
|
+
}
|
|
28845
|
+
return {
|
|
28846
|
+
value: content,
|
|
28847
|
+
proxyTitle: void 0,
|
|
28848
|
+
proxyDescription: void 0
|
|
28849
|
+
};
|
|
28850
|
+
}, [ariaDescribedBy, ariaLabelledBy, content, description, title]);
|
|
28851
|
+
const proxyTitle = resolvedContent.proxyTitle ?? (title == null ? ariaLabel : void 0);
|
|
28852
|
+
const proxyDescription = resolvedContent.proxyDescription;
|
|
28853
|
+
const contentAriaLabel = title == null && !proxyTitle ? ariaLabel : void 0;
|
|
28854
|
+
const contentAriaLabelledBy = title == null && !proxyTitle ? ariaLabelledBy : void 0;
|
|
28855
|
+
const contentAriaDescribedBy = description == null && !proxyDescription ? ariaDescribedBy : void 0;
|
|
28811
28856
|
return /* @__PURE__ */ import_react10.default.createElement(Drawer.Root, { ...rootProps }, triggerText ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Trigger, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement("button", { type: "button", "data-drawer-vanilla-trigger": "" }, triggerText)) : null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Portal, null, /* @__PURE__ */ import_react10.default.createElement(Drawer.Overlay, { className: overlayClassName }), /* @__PURE__ */ import_react10.default.createElement(
|
|
28812
28857
|
Drawer.Content,
|
|
28813
28858
|
{
|
|
28814
28859
|
className: contentClassName,
|
|
28815
|
-
"aria-label":
|
|
28816
|
-
"aria-labelledby":
|
|
28817
|
-
"aria-describedby":
|
|
28860
|
+
"aria-label": contentAriaLabel,
|
|
28861
|
+
"aria-labelledby": contentAriaLabelledBy,
|
|
28862
|
+
"aria-describedby": contentAriaDescribedBy
|
|
28818
28863
|
},
|
|
28819
28864
|
shouldRenderHandle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Handle, { className: handleClassName }) : null,
|
|
28820
|
-
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement(
|
|
28865
|
+
shouldRenderVanillaContent ? /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-node": "" }, proxyTitle ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: VISUALLY_HIDDEN_STYLE }, proxyTitle) : null, title != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Title, { style: titleVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: title })) : null, proxyDescription ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: VISUALLY_HIDDEN_STYLE }, proxyDescription) : null, description != null ? /* @__PURE__ */ import_react10.default.createElement(Drawer.Description, { style: descriptionVisuallyHidden ? VISUALLY_HIDDEN_STYLE : void 0 }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: description })) : null, /* @__PURE__ */ import_react10.default.createElement("div", { "data-drawer-vanilla-body": "" }, /* @__PURE__ */ import_react10.default.createElement(VanillaNode, { value: resolvedContent.value }))) : null
|
|
28821
28866
|
)));
|
|
28822
28867
|
}
|
|
28823
28868
|
|