@lindle/linoardo 1.0.13 → 1.0.14
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/index.cjs +57 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +58 -8
- package/dist/index.js.map +1 -1
- package/dist/styles.css +0 -3
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -723,7 +723,55 @@ var Menu = React3__namespace.forwardRef((props, ref) => {
|
|
|
723
723
|
});
|
|
724
724
|
Menu.displayName = "Menu";
|
|
725
725
|
var Menu_default = Menu;
|
|
726
|
-
var
|
|
726
|
+
var EXPANSION_PANEL_CONTEXT_PROP = "__expansionPanelContext";
|
|
727
|
+
var EXPANSION_PANEL_ITEM_MARKER = "__isExpansionPanelItem";
|
|
728
|
+
var hasMarker = (type) => {
|
|
729
|
+
if (!type || typeof type !== "function" && typeof type !== "object") {
|
|
730
|
+
return false;
|
|
731
|
+
}
|
|
732
|
+
if (type[EXPANSION_PANEL_ITEM_MARKER]) {
|
|
733
|
+
return true;
|
|
734
|
+
}
|
|
735
|
+
const innerType = type.type;
|
|
736
|
+
if (innerType && innerType !== type) {
|
|
737
|
+
return hasMarker(innerType);
|
|
738
|
+
}
|
|
739
|
+
return false;
|
|
740
|
+
};
|
|
741
|
+
var traverseNode = (node, value) => {
|
|
742
|
+
if (Array.isArray(node)) {
|
|
743
|
+
let changed = false;
|
|
744
|
+
const nextArray = node.map((child) => {
|
|
745
|
+
const result = traverseNode(child, value);
|
|
746
|
+
if (result.changed) {
|
|
747
|
+
changed = true;
|
|
748
|
+
}
|
|
749
|
+
return result.node;
|
|
750
|
+
});
|
|
751
|
+
return { node: changed ? nextArray : node, changed };
|
|
752
|
+
}
|
|
753
|
+
if (node === null || node === void 0 || typeof node === "boolean" || typeof node === "string" || typeof node === "number") {
|
|
754
|
+
return { node, changed: false };
|
|
755
|
+
}
|
|
756
|
+
if (!React3.isValidElement(node)) {
|
|
757
|
+
return { node, changed: false };
|
|
758
|
+
}
|
|
759
|
+
const { node: mappedChildren, changed: childrenChanged } = traverseNode(node.props.children, value);
|
|
760
|
+
const shouldInject = hasMarker(node.type);
|
|
761
|
+
if (!shouldInject && !childrenChanged) {
|
|
762
|
+
return { node, changed: false };
|
|
763
|
+
}
|
|
764
|
+
const injectedProps = shouldInject ? { [EXPANSION_PANEL_CONTEXT_PROP]: value } : void 0;
|
|
765
|
+
const cloned = mappedChildren === void 0 ? React3.cloneElement(node, injectedProps) : React3.cloneElement(node, injectedProps, mappedChildren);
|
|
766
|
+
return { node: cloned, changed: true };
|
|
767
|
+
};
|
|
768
|
+
var injectExpansionPanelContext = (children, value) => traverseNode(children, value).node;
|
|
769
|
+
var markExpansionPanelItem = (component) => {
|
|
770
|
+
if (typeof component !== "function" && (typeof component !== "object" || component === null)) {
|
|
771
|
+
return;
|
|
772
|
+
}
|
|
773
|
+
component[EXPANSION_PANEL_ITEM_MARKER] = true;
|
|
774
|
+
};
|
|
727
775
|
var densityClasses2 = {
|
|
728
776
|
comfortable: "py-5",
|
|
729
777
|
default: "py-4",
|
|
@@ -757,12 +805,13 @@ var generateId = (prefix) => `${prefix}-${++uniqueIdCounter}`;
|
|
|
757
805
|
var ExpansionPanelItemInner = class extends React3.Component {
|
|
758
806
|
constructor(props) {
|
|
759
807
|
super(props);
|
|
808
|
+
this.getContext = () => this.props.__expansionPanelContext ?? null;
|
|
760
809
|
this.handleToggle = () => {
|
|
761
810
|
const { disabled = false } = this.props;
|
|
762
811
|
if (disabled) {
|
|
763
812
|
return;
|
|
764
813
|
}
|
|
765
|
-
const context = this.
|
|
814
|
+
const context = this.getContext();
|
|
766
815
|
const panelValue = this.props.value ?? this.generatedValue;
|
|
767
816
|
if (context) {
|
|
768
817
|
context.toggle(panelValue, disabled);
|
|
@@ -795,7 +844,7 @@ var ExpansionPanelItemInner = class extends React3.Component {
|
|
|
795
844
|
forwardedRef,
|
|
796
845
|
...rest
|
|
797
846
|
} = this.props;
|
|
798
|
-
const context = this.
|
|
847
|
+
const context = this.getContext();
|
|
799
848
|
const panelValue = value ?? this.generatedValue;
|
|
800
849
|
const density = context?.density ?? "default";
|
|
801
850
|
const color = colorOverride ?? context?.color ?? "primary";
|
|
@@ -892,9 +941,9 @@ var ExpansionPanelItemInner = class extends React3.Component {
|
|
|
892
941
|
);
|
|
893
942
|
}
|
|
894
943
|
};
|
|
895
|
-
ExpansionPanelItemInner.contextType = ExpansionPanelContext;
|
|
896
944
|
var ExpansionPanelItem = React3.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(ExpansionPanelItemInner, { ...props, forwardedRef: ref }));
|
|
897
945
|
ExpansionPanelItem.displayName = "ExpansionPanelItem";
|
|
946
|
+
markExpansionPanelItem(ExpansionPanelItem);
|
|
898
947
|
var ExpansionPanelItem_default = ExpansionPanelItem;
|
|
899
948
|
var variantContainerClasses = {
|
|
900
949
|
elevated: "bg-white border border-gray-200 shadow-lg shadow-gray-900/10",
|
|
@@ -1001,15 +1050,16 @@ var ExpansionPanelInner = class extends React3.Component {
|
|
|
1001
1050
|
const variantClass = divider ? variantContainerClasses[variant] : "bg-transparent border border-transparent shadow-none";
|
|
1002
1051
|
const shapeClass = roundedClasses2[rounded] ?? roundedClasses2.lg;
|
|
1003
1052
|
const layoutClass = divider ? "divide-y divide-gray-100 overflow-hidden" : "gap-4";
|
|
1004
|
-
|
|
1053
|
+
const enhancedChildren = injectExpansionPanelContext(children, providerValue);
|
|
1054
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1005
1055
|
"div",
|
|
1006
1056
|
{
|
|
1007
1057
|
...rest,
|
|
1008
1058
|
ref: forwardedRef,
|
|
1009
1059
|
className: tailwindMerge.twMerge("expansion-panel flex w-full flex-col text-gray-900", variantClass, shapeClass, layoutClass, className),
|
|
1010
|
-
children
|
|
1060
|
+
children: enhancedChildren
|
|
1011
1061
|
}
|
|
1012
|
-
)
|
|
1062
|
+
);
|
|
1013
1063
|
}
|
|
1014
1064
|
};
|
|
1015
1065
|
var ExpansionPanel = React3.forwardRef((props, ref) => /* @__PURE__ */ jsxRuntime.jsx(ExpansionPanelInner, { ...props, forwardedRef: ref }));
|