@m4l/components 9.4.16 → 9.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/components/AccountPopover/AccountPopover.styles.js +10 -5
  2. package/components/AccountPopover/slots/AccountPopoverSlots.d.ts +2 -2
  3. package/components/ActionsGroup/slots/ActionsGroupSlots.d.ts +2 -2
  4. package/components/AppBar/slots/AppBarSlots.d.ts +1 -1
  5. package/components/CheckableList/slots/styled.d.ts +1 -1
  6. package/components/Chip/slots/ChipSlots.d.ts +2 -2
  7. package/components/DynamicFilter/slots/dynamicFilterSlots.d.ts +2 -2
  8. package/components/DynamicSort/slots/DynamicSortSlots.d.ts +2 -2
  9. package/components/EditLabel/slots/EditLabelSlots.d.ts +2 -2
  10. package/components/Icon/Icon.d.ts +3 -0
  11. package/components/Icon/Icon.js +52 -28
  12. package/components/Icon/Icon.styles.js +53 -61
  13. package/components/Icon/constants.d.ts +1 -0
  14. package/components/Icon/constants.js +5 -1
  15. package/components/Icon/slots/IconSlots.js +3 -3
  16. package/components/Icon/types.d.ts +44 -7
  17. package/components/Label/slots/LabelSlots.d.ts +1 -1
  18. package/components/MenuActions/MenuActions.js +17 -5
  19. package/components/MenuActions/constants.js +2 -8
  20. package/components/MenuActions/slots/MenuActionsSlots.d.ts +1 -1
  21. package/components/MenuActions/slots/MenuActionsSlots.js +1 -1
  22. package/components/NumberInput/hooks/useNumberInput/useNumberInput.js +2 -0
  23. package/components/NumberInput/slots/NumberInputSlots.d.ts +2 -2
  24. package/components/ObjectLogs/slots/ObjectLogsSlots.d.ts +3 -3
  25. package/components/PaperForm/slots/PaperFormSlots.d.ts +1 -1
  26. package/components/SettingsLayout/slots/SettingsLayoutSlots.d.ts +2 -2
  27. package/components/SideBar/slots/SideBarSlots.d.ts +1 -1
  28. package/components/Stepper/slots/StepperSlot.d.ts +1 -1
  29. package/components/TabsNavigator/slots/TabsNavigatorSlots.d.ts +1 -1
  30. package/components/ToastContainer/slots/toastContainerSlots.d.ts +3 -3
  31. package/components/WindowBase/slots/WindowBaseSlots.d.ts +2 -2
  32. package/components/WindowBase/types.d.ts +2 -1
  33. package/components/areas/components/AreasAdmin/slots/AreasAdminSlots.d.ts +1 -1
  34. package/components/datagrids/formatters/ColumnIconFormatter/types.d.ts +2 -1
  35. package/components/datagrids/icons.js +0 -8
  36. package/components/datagrids/subcomponents/HeaderActions/subcomponents/Density/Density.js +11 -14
  37. package/components/datagrids/subcomponents/HeaderActions/subcomponents/MobileMenuActions/MobileMenuActions.js +6 -5
  38. package/components/datagrids/subcomponents/HeaderActions/subcomponents/ViewMode/ViewMode.js +9 -10
  39. package/components/datagrids/views/CardsView/hooks/useCardContent/useCardContent.js +3 -4
  40. package/components/datagrids/views/CardsView/subcomponents/CardDetails/CardDetails.js +3 -4
  41. package/components/datagrids/views/CardsView/subcomponents/CardRow/subcomponents/CardHeader/CardHeader.js +2 -4
  42. package/components/datagrids/views/CardsView/subcomponents/Settings/Settings.js +3 -4
  43. package/components/datagrids/views/CardsView/subcomponents/Settings/hooks/useModalSettings/useModalSettings.js +3 -4
  44. package/components/datagrids/views/CardsView/subcomponents/Settings/subcomponents/ColumnsConfig/ColumnsConfig.js +9 -10
  45. package/components/datagrids/views/TableView/hooks/useHeaderMenuActions/useHeaderMenuActions.js +35 -49
  46. package/components/datagrids/views/TableView/hooks/useSortColumnsRows/useSortColumnsRows.js +2 -0
  47. package/components/extended/React-resizable-panels/SplitLayout.styles.js +46 -37
  48. package/components/extended/React-resizable-panels/slots/SplitLayoutSlots.d.ts +1 -1
  49. package/components/formatters/BooleanFormatter/slots/BooleanFormatterSlots.d.ts +2 -2
  50. package/components/formatters/IconsFormatter/slots/IconsFormatterSlots.d.ts +2 -2
  51. package/components/formatters/IconsFormatter/types.d.ts +2 -1
  52. package/components/hook-form/RHFAutocompleteAsync/reducer/RHFAutocompleteReducer.js +5 -0
  53. package/components/hook-form/RHFColorPicker/slots/RHFColorPickerSlots.d.ts +1 -1
  54. package/components/hook-form/RHFDatePicker/slots/RHFDatePickerSlots.d.ts +1 -1
  55. package/components/hook-form/RHFTextFieldPassword/slots/RHFTextFieldPasswordSlots.d.ts +1 -1
  56. package/components/hook-form/RHFUpload/RHFUploadImage/slots/RHFUploadImageSlots.d.ts +1 -1
  57. package/components/hook-form/RHFUpload/RHFUploadSingleFile/slots/RHFUploadSingleFileSlots.d.ts +1 -1
  58. package/components/mui_extended/Accordion/Accordion.js +3 -2
  59. package/components/mui_extended/Accordion/constants.d.ts +0 -1
  60. package/components/mui_extended/Accordion/constants.js +1 -3
  61. package/components/mui_extended/Accordion/slots/AccordionSlots.d.ts +2 -2
  62. package/components/mui_extended/Autocomplete/hooks/useEndAdornments.js +3 -5
  63. package/components/mui_extended/Autocomplete/slots/AutocompleteSlots.d.ts +1 -1
  64. package/components/mui_extended/Button/slots/ButtonSlots.d.ts +1 -1
  65. package/components/mui_extended/CheckBox/slots/CheckBoxSlots.d.ts +2 -2
  66. package/components/mui_extended/DatePicker/DatePicker.styles.js +2 -2
  67. package/components/mui_extended/DatePicker/hooks/useDatePicker/useDatePicker.js +10 -11
  68. package/components/mui_extended/DatePicker/slots/DatePickerSlots.d.ts +1 -1
  69. package/components/mui_extended/DateTimePicker/DateTimePicker.d.ts +0 -4
  70. package/components/mui_extended/DateTimePicker/DateTimePicker.js +10 -11
  71. package/components/mui_extended/DateTimePicker/slots/DateTimePickerSlots.d.ts +1 -1
  72. package/components/mui_extended/IconButton/IconButton.js +19 -8
  73. package/components/mui_extended/IconButton/slots/IconButtonSlots.d.ts +1 -1
  74. package/components/mui_extended/IconButton/types.d.ts +3 -6
  75. package/components/mui_extended/MenuItem/MenuItem.js +14 -4
  76. package/components/mui_extended/MenuItem/slots/MenuItemSlots.d.ts +2 -2
  77. package/components/mui_extended/MenuItem/types.d.ts +3 -3
  78. package/components/mui_extended/Radio/Radio.js +4 -5
  79. package/components/mui_extended/Select/Select.d.ts +2 -1
  80. package/components/mui_extended/Select/Select.js +7 -5
  81. package/components/mui_extended/Select/slots/SelectSlots.d.ts +2 -2
  82. package/components/mui_extended/Tab/Slots/TabSlots.d.ts +1 -1
  83. package/components/mui_extended/Tabs/Tabs.js +5 -9
  84. package/components/mui_extended/TimePicker/slots/TimePickerSlots.d.ts +1 -1
  85. package/components/mui_extended/ToggleIconButton/slots/ToggleIconButtonSlots.d.ts +1 -1
  86. package/hooks/useDynamicFilterAndSort/slots/DynamicFilterAndSortSlots.d.ts +1 -1
  87. package/not_recognized/index.js +100 -25
  88. package/package.json +2 -1
  89. package/components/hook-form/RHFDatePicker/icons.d.ts +0 -6
  90. package/components/mui_extended/Autocomplete/icons.js +0 -7
  91. package/components/mui_extended/DatePicker/icons.d.ts +0 -4
  92. package/components/mui_extended/DatePicker/icons.js +0 -10
  93. package/components/mui_extended/DateTimePicker/icons.d.ts +0 -4
  94. package/components/mui_extended/DateTimePicker/icons.js +0 -10
  95. package/components/mui_extended/Radio/icons.js +0 -7
  96. package/components/mui_extended/Tabs/icons.d.ts +0 -4
  97. package/components/mui_extended/Tabs/icons.js +0 -7
@@ -7,12 +7,12 @@ export declare const TextFieldStyled: import('@emotion/styled').StyledComponent<
7
7
  export declare const LabelStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/Typography/types').TypographyProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>, "size" | "children" | "title" | "component" | "zIndex" | "id" | "disabled" | "paragraph" | "border" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontSize" | "textTransform" | "fontFamily" | "typography" | "flex" | "variant" | "color" | "dataTestid" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "content" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "top" | "translate" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "sx" | "p" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "htmlFor" | "gutterBottom" | "noWrap" | "variantMapping" | "skeletonWidth" | "skeletonRows" | "ellipsis" | keyof import('react').RefAttributes<HTMLSpanElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
8
8
  ownerState?: (Partial<import('..').EditLabelOwnerState> & Record<string, unknown>) | undefined;
9
9
  }, {}, {}>;
10
- export declare const IconButtonEditStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/IconButton/types').IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "value" | "size" | "children" | "title" | "component" | "name" | "id" | "type" | "selected" | "disabled" | "action" | "variant" | "color" | "content" | "translate" | "className" | "style" | "classes" | "src" | "sx" | "form" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tooltip" | "instaceDataTestId" | "placement" | "icon" | "rotationAngle" | "ariaLabel" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "badgeProps" | keyof import('react').RefAttributes<HTMLButtonElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
10
+ export declare const IconButtonEditStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/IconButton/types').IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "value" | "size" | "children" | "title" | "component" | "name" | "id" | "type" | "selected" | "disabled" | "action" | "variant" | "color" | "content" | "translate" | "className" | "style" | "classes" | "src" | "sx" | "form" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tooltip" | "instaceDataTestId" | "placement" | "icon" | "rotationAngle" | "ariaLabel" | "dataTestId" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "badgeProps" | keyof import('react').RefAttributes<HTMLButtonElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
11
11
  ownerState?: (Partial<import('..').EditLabelOwnerState> & Record<string, unknown>) | undefined;
12
12
  }, {}, {}>;
13
13
  export declare const ContainerActionsStyled: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
14
14
  ownerState?: (Partial<import('..').EditLabelOwnerState> & Record<string, unknown>) | undefined;
15
15
  }, Pick<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import('react').ClassAttributes<HTMLDivElement> | keyof import('react').HTMLAttributes<HTMLDivElement>>, {}>;
16
- export declare const IconButtonStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/IconButton/types').IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "value" | "size" | "children" | "title" | "component" | "name" | "id" | "type" | "selected" | "disabled" | "action" | "variant" | "color" | "content" | "translate" | "className" | "style" | "classes" | "src" | "sx" | "form" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tooltip" | "instaceDataTestId" | "placement" | "icon" | "rotationAngle" | "ariaLabel" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "badgeProps" | keyof import('react').RefAttributes<HTMLButtonElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
16
+ export declare const IconButtonStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/IconButton/types').IconButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>, "value" | "size" | "children" | "title" | "component" | "name" | "id" | "type" | "selected" | "disabled" | "action" | "variant" | "color" | "content" | "translate" | "className" | "style" | "classes" | "src" | "sx" | "form" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tooltip" | "instaceDataTestId" | "placement" | "icon" | "rotationAngle" | "ariaLabel" | "dataTestId" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple" | "edge" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "badgeProps" | keyof import('react').RefAttributes<HTMLButtonElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material/styles').Theme> & Record<string, unknown> & {
17
17
  ownerState?: (Partial<import('..').EditLabelOwnerState> & Record<string, unknown>) | undefined;
18
18
  }, {}, {}>;
@@ -1,5 +1,8 @@
1
1
  import { IconProps } from './types';
2
2
  /**
3
3
  * Provee de un medio por el cual se carga un icono svg en la plataforma web, aporta su versión provisional de carga en red.
4
+ * Soporta dos estrategias:
5
+ * - Estrategia src (URL): Usa CSS mask para aplicar colores al icono SVG desde una URL
6
+ * - Estrategia type element: Usa componentes SVG de @m4l/icons directamente mediante src (ReactNode)
4
7
  */
5
8
  export declare const Icon: (props: IconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +1,20 @@
1
1
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import { useModuleSkeleton } from "@m4l/core";
3
3
  import clsx from "clsx";
4
+ import { isValidElement, cloneElement } from "react";
4
5
  import { g as getPropDataTestId } from "../../test/getNameDataTestId.js";
5
- import { I as ICON_PREFIX, a as ICON_KEY_COMPONENT } from "./constants.js";
6
- import { g as getComponentClasses, a as getComponentSlotRoot } from "../../utils/getComponentSlotRoot.js";
6
+ import { I as ICON_PREFIX, a as ICON_CLASSES } from "./constants.js";
7
7
  import { u as useComponentSize } from "../../hooks/useComponentSize/useComponentSize.js";
8
8
  import { I as IconSlots } from "./slots/IconEnum.js";
9
- import { T as TooltipStyled, R as RootStyled, I as IconStyled, a as IconSkeletonStyled } from "./slots/IconSlots.js";
9
+ import { T as TooltipStyled, R as RootStyled, I as IconSkeletonStyled, a as IconStyled } from "./slots/IconSlots.js";
10
+ function isIconResourceSrc(props) {
11
+ return "src" in props && typeof props.src === "string" || "icon" in props && typeof props.icon === "string";
12
+ }
13
+ function isIconResourceComponent(props) {
14
+ return "src" in props && props.src !== void 0 && isValidElement(props.src) || "icon" in props && props.icon !== void 0 && isValidElement(props.icon);
15
+ }
10
16
  const Icon = (props) => {
11
17
  const {
12
- src,
13
18
  size = "medium",
14
19
  rotationAngle,
15
20
  tooltipContent,
@@ -23,10 +28,16 @@ const Icon = (props) => {
23
28
  onClick,
24
29
  ariaLabel
25
30
  } = props;
31
+ let src;
32
+ if (isIconResourceSrc(props)) {
33
+ src = "src" in props && typeof props.src === "string" ? props.src : "icon" in props && typeof props.icon === "string" ? props.icon : void 0;
34
+ } else if (isIconResourceComponent(props)) {
35
+ src = "src" in props && props.src !== void 0 && isValidElement(props.src) ? props.src : "icon" in props && props.icon !== void 0 && isValidElement(props.icon) ? props.icon : void 0;
36
+ }
26
37
  const { currentSize } = useComponentSize(size);
27
38
  const adjustedSize = currentSize === "small" || currentSize === "medium" ? currentSize : "medium";
28
39
  const isSkeleton = useModuleSkeleton();
29
- const classKey = getComponentClasses(ICON_KEY_COMPONENT, IconSlots);
40
+ const isMaskStrategy = src !== void 0 ? typeof src === "string" : void 0;
30
41
  const ownerState = {
31
42
  size: adjustedSize,
32
43
  color,
@@ -35,51 +46,64 @@ const Icon = (props) => {
35
46
  rotationAngle,
36
47
  selected,
37
48
  enabledSelected,
38
- isSkeleton
49
+ isSkeleton,
50
+ isMaskStrategy
39
51
  };
40
52
  const isButton = typeof onClick === "function" && !disabled;
41
53
  const commonRootProps = {
42
- className: clsx(className, classKey.root),
54
+ className: clsx(className, ICON_CLASSES.root),
43
55
  ownerState: { ...ownerState },
44
56
  onClick: isButton ? onClick : void 0,
45
57
  tabIndex: isButton ? 0 : -1,
46
58
  "aria-disabled": disabled,
47
59
  ...getPropDataTestId(ICON_PREFIX, IconSlots.root, instaceDataTestId)
48
60
  };
61
+ const renderIcon = () => {
62
+ if (src && typeof src === "string") {
63
+ return /* @__PURE__ */ jsx(
64
+ IconStyled,
65
+ {
66
+ className: clsx(ICON_CLASSES.icon, ICON_CLASSES.root),
67
+ role: "icon",
68
+ ownerState: { ...ownerState },
69
+ ...getPropDataTestId(ICON_PREFIX, IconSlots.icon, instaceDataTestId),
70
+ "aria-label": ariaLabel || "icon"
71
+ }
72
+ );
73
+ }
74
+ if (src && isValidElement(src)) {
75
+ const iconSize = adjustedSize === "small" ? "small" : "medium";
76
+ return /* @__PURE__ */ jsx(Fragment, { children: cloneElement(src, {
77
+ sx: {
78
+ fontSize: iconSize,
79
+ ...rotationAngle && {
80
+ transform: `rotate(${rotationAngle}deg)`
81
+ },
82
+ width: "100%",
83
+ height: "100%"
84
+ },
85
+ "aria-label": ariaLabel || "icon"
86
+ }) });
87
+ }
88
+ return null;
89
+ };
49
90
  return /* @__PURE__ */ jsxs(Fragment, { children: [
50
91
  tooltipContent ? /* @__PURE__ */ jsx(
51
92
  TooltipStyled,
52
93
  {
53
- className: className || classKey.tooltip,
94
+ className: className || ICON_CLASSES.tooltip,
54
95
  title: tooltipContent,
55
96
  ownerState: { ...ownerState },
56
97
  placement,
57
98
  size: adjustedSize,
58
99
  ...getPropDataTestId(ICON_PREFIX, IconSlots.tooltip, instaceDataTestId),
59
- children: /* @__PURE__ */ jsx(RootStyled, { ...commonRootProps, children: /* @__PURE__ */ jsx(
60
- IconStyled,
61
- {
62
- className: classKey.icon,
63
- role: "icon",
64
- ownerState: { ...ownerState },
65
- ...getPropDataTestId(ICON_PREFIX, IconSlots.icon, instaceDataTestId)
66
- }
67
- ) })
68
- }
69
- ) : /* @__PURE__ */ jsx(RootStyled, { ...commonRootProps, children: /* @__PURE__ */ jsx(
70
- IconStyled,
71
- {
72
- className: clsx(classKey.icon, getComponentSlotRoot("M4LIconClass")),
73
- role: "icon",
74
- ownerState: { ...ownerState },
75
- ...getPropDataTestId(ICON_PREFIX, IconSlots.icon, instaceDataTestId),
76
- "aria-label": ariaLabel || "icon"
100
+ children: /* @__PURE__ */ jsx(RootStyled, { ...commonRootProps, children: renderIcon() })
77
101
  }
78
- ) }),
102
+ ) : /* @__PURE__ */ jsx(RootStyled, { ...commonRootProps, children: renderIcon() }),
79
103
  isSkeleton && /* @__PURE__ */ jsx(
80
104
  IconSkeletonStyled,
81
105
  {
82
- className: clsx(classKey.iconSkeleton, classKey.root),
106
+ className: clsx(ICON_CLASSES.iconSkeleton, ICON_CLASSES.root),
83
107
  role: "icon-skeleton",
84
108
  size: adjustedSize,
85
109
  variant: "rectangular",
@@ -1,4 +1,6 @@
1
+ import { g as getSizeStyles } from "../../utils/getSizeStyles/getSizeStyles.js";
1
2
  import { getPropertyByString } from "@m4l/core";
3
+ import { a as ICON_CLASSES } from "./constants.js";
2
4
  const iconStyles = {
3
5
  /**
4
6
  * Slot root: Contiene los estilos para el contenedor principal del ícono.
@@ -8,31 +10,50 @@ const iconStyles = {
8
10
  * ('small' o 'medium'). También incluye animaciones como la transición
9
11
  * suave de transformación.
10
12
  */
11
- root: ({ theme, ownerState }) => ({
12
- display: ownerState?.isSkeleton ? "none" : "flex",
13
- justifyContent: "center",
14
- alignItems: "center",
15
- width: "fit-content",
16
- transition: "transform 0.5s ease-in-out",
17
- ...ownerState?.size === "medium" && {
18
- ...theme.generalSettings.isMobile ? {
19
- width: theme.vars.size.mobile.medium.base,
20
- height: theme.vars.size.mobile.medium.base
21
- } : {
22
- width: theme.vars.size.desktop.medium.base,
23
- height: theme.vars.size.desktop.medium.base
24
- }
25
- },
26
- ...ownerState?.size === "small" && {
27
- ...theme.generalSettings.isMobile ? {
28
- width: theme.vars.size.mobile.small.base,
29
- height: theme.vars.size.mobile.small.base
30
- } : {
31
- width: theme.vars.size.desktop.small.base,
32
- height: theme.vars.size.desktop.small.base
13
+ root: ({ theme, ownerState }) => {
14
+ const backgroundColor = ownerState?.disabled ? theme.vars.palette.text.disabled : ownerState?.selected && ownerState?.enabledSelected ? `${theme.vars.palette.primary.enabled}` : getPropertyByString(theme.vars.palette, String(ownerState?.color), "text.primary");
15
+ return {
16
+ display: ownerState?.isSkeleton ? "none" : "flex",
17
+ justifyContent: "center",
18
+ alignItems: "center",
19
+ width: "fit-content",
20
+ transition: "transform 0.5s ease-in-out",
21
+ ...getSizeStyles(theme, ownerState?.size ?? "medium", "base", (size) => ({
22
+ width: size,
23
+ height: size
24
+ })),
25
+ // Solo aplicar estilos de mask si se usa estrategia mask (src es string)
26
+ // Si no es mask (src es React element) o no hay src, aplicar estilos para componente SVG
27
+ ...ownerState?.isMaskStrategy === false && {
28
+ "& .MuiSvgIcon-root": {
29
+ width: "inherit",
30
+ height: "inherit",
31
+ display: "flex",
32
+ alignItems: "center",
33
+ justifyContent: "center",
34
+ "& svg, & path, & rect, & circle, & ellipse, & polygon, & polyline, & line, & g, & text, & tspan, & use": {
35
+ fill: backgroundColor
36
+ }
37
+ }
38
+ },
39
+ // Solo aplicar estilos de mask si se usa estrategia mask (src es string)
40
+ ...ownerState?.isMaskStrategy === true && {
41
+ [`& .${ICON_CLASSES.icon}`]: {
42
+ maskPosition: "center",
43
+ maskRepeat: "no-repeat",
44
+ maskSize: "cover",
45
+ WebkitMaskRepeat: "no-repeat",
46
+ mask: `url(${ownerState?.src})`,
47
+ WebkitMask: `url(${ownerState?.src})`,
48
+ WebkitMaskSize: "cover",
49
+ ...ownerState?.rotationAngle && {
50
+ transform: `rotate(${ownerState?.rotationAngle}deg)`
51
+ },
52
+ backgroundColor: ownerState?.isMaskStrategy ? backgroundColor : "transparent"
53
+ }
33
54
  }
34
- }
35
- }),
55
+ };
56
+ },
36
57
  /**
37
58
  * Slot icon: Define los estilos para el ícono que se carga dinámicamente.
38
59
  * Este slot gestiona cómo se carga y muestra el recurso gráfico en formato de máscara,
@@ -40,25 +61,10 @@ const iconStyles = {
40
61
  * del ícono basada en el ángulo de rotación proporcionado, y el color de fondo que
41
62
  * se ajusta de acuerdo con el estado de deshabilitación o no del ícono.
42
63
  */
43
- icon: ({ theme, ownerState }) => {
44
- const backgroundColor = ownerState?.disabled ? theme.vars.palette.text.disabled : ownerState?.selected && ownerState?.enabledSelected ? `${theme.vars.palette.primary.enabled}` : getPropertyByString(theme.vars.palette, String(ownerState?.color), "text.primary");
45
- return {
46
- maskPosition: "center",
47
- maskRepeat: "no-repeat",
48
- maskSize: "cover",
49
- WebkitMaskRepeat: "no-repeat",
50
- mask: `url(${ownerState?.src})`,
51
- WebkitMask: `url(${ownerState?.src})`,
52
- WebkitMaskSize: "cover",
53
- ...ownerState?.rotationAngle && {
54
- transform: `rotate(${ownerState?.rotationAngle}deg)`
55
- },
56
- backgroundColor,
57
- width: "inherit",
58
- height: "inherit",
59
- variants: []
60
- };
61
- },
64
+ icon: () => ({
65
+ width: "inherit",
66
+ height: "inherit"
67
+ }),
62
68
  /**
63
69
  * Slot iconSkeleton: Define los estilos para el esqueleto del ícono.
64
70
  * Se utiliza cuando el ícono aún no está completamente cargado, proporcionando
@@ -68,24 +74,10 @@ const iconStyles = {
68
74
  iconSkeleton: ({ theme, ownerState }) => ({
69
75
  "&.M4lclassCssSpecificity": {
70
76
  borderRadius: theme.size.borderRadius.r1,
71
- ...ownerState?.size === "medium" && {
72
- ...theme.generalSettings.isMobile ? {
73
- width: theme.vars.size.mobile.medium.base,
74
- height: theme.vars.size.mobile.medium.base
75
- } : {
76
- width: theme.vars.size.desktop.medium.base,
77
- height: theme.vars.size.desktop.medium.base
78
- }
79
- },
80
- ...ownerState?.size === "small" && {
81
- ...theme.generalSettings.isMobile ? {
82
- width: theme.vars.size.mobile.small.base,
83
- height: theme.vars.size.mobile.small.base
84
- } : {
85
- width: theme.vars.size.desktop.small.base,
86
- height: theme.vars.size.desktop.small.base
87
- }
88
- }
77
+ ...getSizeStyles(theme, ownerState?.size ?? "medium", "base", (size) => ({
78
+ width: size,
79
+ height: size
80
+ }))
89
81
  }
90
82
  }),
91
83
  /**
@@ -1,2 +1,3 @@
1
1
  export declare const ICON_KEY_COMPONENT = "M4LIcon";
2
2
  export declare const ICON_PREFIX = "Icon";
3
+ export declare const ICON_CLASSES: Record<"root" | "tooltip" | "icon" | "iconSkeleton", string>;
@@ -1,6 +1,10 @@
1
+ import { g as getComponentClasses } from "../../utils/getComponentSlotRoot.js";
2
+ import { I as IconSlots } from "./slots/IconEnum.js";
1
3
  const ICON_KEY_COMPONENT = "M4LIcon";
2
4
  const ICON_PREFIX = "Icon";
5
+ const ICON_CLASSES = getComponentClasses(ICON_KEY_COMPONENT, IconSlots);
3
6
  export {
4
7
  ICON_PREFIX as I,
5
- ICON_KEY_COMPONENT as a
8
+ ICON_CLASSES as a,
9
+ ICON_KEY_COMPONENT as b
6
10
  };
@@ -1,6 +1,6 @@
1
1
  import { styled } from "@mui/material/styles";
2
2
  import { I as IconSlots } from "./IconEnum.js";
3
- import { a as ICON_KEY_COMPONENT } from "../constants.js";
3
+ import { b as ICON_KEY_COMPONENT } from "../constants.js";
4
4
  import { i as iconStyles } from "../Icon.styles.js";
5
5
  import { T as Tooltip } from "../../mui_extended/Tooltip/Tooltip.js";
6
6
  import { S as Skeleton } from "../../mui_extended/Skeleton/Skeleton.js";
@@ -21,8 +21,8 @@ const IconSkeletonStyled = styled(Skeleton, {
21
21
  slot: IconSlots.iconSkeleton
22
22
  })(iconStyles?.iconSkeleton);
23
23
  export {
24
- IconStyled as I,
24
+ IconSkeletonStyled as I,
25
25
  RootStyled as R,
26
26
  TooltipStyled as T,
27
- IconSkeletonStyled as a
27
+ IconStyled as a
28
28
  };
@@ -3,18 +3,14 @@ import { IconSlots } from './slots';
3
3
  import { Theme } from '@mui/material';
4
4
  import { ICON_KEY_COMPONENT } from './constants';
5
5
  import { Sizes } from '@m4l/styles';
6
- import { ReactNode } from 'react';
6
+ import { ReactElement, ReactNode } from 'react';
7
7
  import { TooltipProps } from '../mui_extended/Tooltip/types';
8
8
  import { DeepKeyOf } from '../../utils/types';
9
9
  /**
10
10
  * Define la lista de posibles colores que se pueden aplicar al componente icono.
11
11
  */
12
12
  export type IconColorDeep = DeepKeyOf<Theme['vars']['palette']> | string;
13
- export interface IconProps extends Pick<TooltipProps, 'placement'> {
14
- /**
15
- * URL o ruta de la imagen que se va a mostrar.
16
- */
17
- src: string;
13
+ export interface IconBaseProps extends Pick<TooltipProps, 'placement'> {
18
14
  /**
19
15
  * Tamaño del componente, puede ser uno de los valores definidos en 'small' , 'medium' , 'large'.
20
16
  */
@@ -61,11 +57,52 @@ export interface IconProps extends Pick<TooltipProps, 'placement'> {
61
57
  */
62
58
  ariaLabel?: string;
63
59
  }
60
+ export type IconResourceSrc = IconBaseProps & ({
61
+ /**
62
+ * URL o ruta de la imagen que se va a mostrar (estrategia src con mask).
63
+ */
64
+ src: string;
65
+ /**
66
+ * URL o ruta de la imagen que se va a mostrar (estrategia src con mask). alternativa a src.
67
+ */
68
+ icon?: never;
69
+ } | {
70
+ /**
71
+ * URL o ruta de la imagen que se va a mostrar (estrategia src con mask).
72
+ */
73
+ src?: never;
74
+ /**
75
+ * URL o ruta de la imagen que se va a mostrar (estrategia src con mask). alternativa a src.
76
+ */
77
+ icon: string;
78
+ });
79
+ export type IconResourceComponent = IconBaseProps & ({
80
+ /**
81
+ * Componente m4l/icon que se va a mostrar (tipo element).
82
+ */
83
+ src: ReactElement;
84
+ /**
85
+ * Icono que se va a mostrar (tipo element). alternativa a src.
86
+ */
87
+ icon?: never;
88
+ } | {
89
+ /**
90
+ * Componente m4l/icon que se va a mostrar (tipo element).
91
+ */
92
+ src?: never;
93
+ /**
94
+ * Icono que se va a mostrar (tipo element). alternativa a src.
95
+ */
96
+ icon: ReactElement;
97
+ });
98
+ export type IconProps = IconResourceSrc | IconResourceComponent;
64
99
  /**
65
100
  * Define las las propiedades usadas para estilizar el componente desde el css.
66
101
  */
67
- export interface IconOwnerState extends Pick<IconProps, 'selected' | 'enabledSelected' | 'size' | 'rotationAngle' | 'color' | 'disabled' | 'src'> {
102
+ export interface IconOwnerState extends Pick<IconBaseProps, 'selected' | 'enabledSelected' | 'size' | 'rotationAngle' | 'color' | 'disabled'> {
103
+ src?: string | ReactNode;
68
104
  isSkeleton: boolean;
105
+ isMaskStrategy?: boolean;
69
106
  }
70
107
  export type IconSlotsType = keyof typeof IconSlots;
71
108
  export type IconStyles = Partial<OverridesStyleRules<IconSlotsType, typeof ICON_KEY_COMPONENT, Theme> | undefined> | undefined;
@@ -7,7 +7,7 @@ export declare const TypographyStyled: import('@emotion/styled').StyledComponent
7
7
  export declare const TypographyMandatoryMessageStyled: import('@emotion/styled').StyledComponent<Pick<Omit<import('../../mui_extended/Typography/types').TypographyProps, "ref"> & import('react').RefAttributes<HTMLSpanElement>, "size" | "children" | "title" | "component" | "zIndex" | "id" | "disabled" | "paragraph" | "border" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontSize" | "textTransform" | "fontFamily" | "typography" | "flex" | "variant" | "color" | "dataTestid" | "alignContent" | "alignItems" | "alignSelf" | "bottom" | "boxShadow" | "boxSizing" | "columnGap" | "content" | "display" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "fontStyle" | "gridAutoColumns" | "gridAutoFlow" | "gridAutoRows" | "gridTemplateAreas" | "gridTemplateColumns" | "gridTemplateRows" | "height" | "justifyContent" | "justifyItems" | "justifySelf" | "left" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginTop" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "order" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingTop" | "position" | "right" | "rowGap" | "textAlign" | "textOverflow" | "top" | "translate" | "visibility" | "whiteSpace" | "width" | "borderBottom" | "borderColor" | "borderLeft" | "borderRadius" | "borderRight" | "borderTop" | "gap" | "gridArea" | "gridColumn" | "gridRow" | "margin" | "marginBlock" | "marginInline" | "overflow" | "padding" | "paddingBlock" | "paddingInline" | "className" | "style" | "classes" | "sx" | "p" | "slot" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "bgcolor" | "m" | "mt" | "mr" | "mb" | "ml" | "mx" | "marginX" | "my" | "marginY" | "pt" | "pr" | "pb" | "pl" | "px" | "paddingX" | "py" | "paddingY" | "displayPrint" | "align" | "htmlFor" | "gutterBottom" | "noWrap" | "variantMapping" | "skeletonWidth" | "skeletonRows" | "ellipsis" | keyof import('react').RefAttributes<HTMLSpanElement>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').LabelOwnerState> & Record<string, unknown> & {
8
8
  ownerState: Partial<import('../types').LabelOwnerState> & Record<string, unknown>;
9
9
  }, {}, {}>;
10
- export declare const IconHelperMessageStyled: import('@emotion/styled').StyledComponent<Pick<import('../../Icon').IconProps, keyof import('../../Icon').IconProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').LabelOwnerState> & Record<string, unknown> & {
10
+ export declare const IconHelperMessageStyled: import('@emotion/styled').StyledComponent<Pick<import('../../Icon').IconProps, "src" | "icon" | keyof import('../../Icon').IconBaseProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & Partial<import('../types').LabelOwnerState> & Record<string, unknown> & {
11
11
  ownerState: Partial<import('../types').LabelOwnerState> & Record<string, unknown>;
12
12
  }, {}, {}>;
13
13
  export declare const SkeletonStyled: import('@emotion/styled').StyledComponent<Pick<import('@mui/material').SkeletonOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & {
@@ -1,13 +1,14 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import React, { useState, useMemo, useEffect, useCallback } from "react";
3
- import { useEnvironment, useModuleDictionary } from "@m4l/core";
3
+ import { useModuleDictionary } from "@m4l/core";
4
4
  import { u as useComponentSize } from "../../hooks/useComponentSize/useComponentSize.js";
5
5
  import { P as Popover } from "../mui_extended/Popover/Popover.js";
6
6
  import { M as MenuItem } from "../mui_extended/MenuItem/MenuItem.js";
7
- import { I as ICON_PATH, a as ICONS, M as MENU_ACTIONS_, b as MENU_ACTIONS_CLASSES } from "./constants.js";
7
+ import { M as MENU_ACTIONS_, a as MENU_ACTIONS_CLASSES } from "./constants.js";
8
8
  import { g as getMenuActionsDictionary, D as DICTIONARY } from "./dictionary.js";
9
9
  import { M as MenuDivider } from "../mui_extended/MenuDivider/MenuDivider.js";
10
10
  import clsx from "clsx";
11
+ import { MenuMoreVerticalOutlined } from "@m4l/icons";
11
12
  import { M as MenuListStyled, a as MenuLoaderStyled, R as RootStyled, I as IconButtonStyled, H as HeaderMenuActionsStyled, F as FooterMenuActionsStyled } from "./slots/MenuActionsSlots.js";
12
13
  import { C as CircularProgress } from "../mui_extended/CircularProgress/CircularProgress.js";
13
14
  function MenuActions(props) {
@@ -38,7 +39,6 @@ function MenuActions(props) {
38
39
  ...other
39
40
  } = props;
40
41
  const { currentSize } = useComponentSize(size);
41
- const { host_static_assets, environment_assets } = useEnvironment();
42
42
  const { getLabel } = useModuleDictionary();
43
43
  const [anchorEl, setAnchorEl] = useState(null);
44
44
  const open = Boolean(externalOpen ?? anchorEl);
@@ -62,8 +62,20 @@ function MenuActions(props) {
62
62
  }
63
63
  };
64
64
  const finalIcon = useMemo(() => {
65
- return icon || urlIcon || `${host_static_assets}/${environment_assets}/${ICON_PATH}/${ICONS.MENU}`;
66
- }, [urlIcon, icon, host_static_assets, environment_assets]);
65
+ if (icon) {
66
+ if (typeof icon === "string") {
67
+ return icon;
68
+ }
69
+ if (React.isValidElement(icon)) {
70
+ return icon;
71
+ }
72
+ return void 0;
73
+ }
74
+ if (urlIcon) {
75
+ return urlIcon;
76
+ }
77
+ return /* @__PURE__ */ jsx(MenuMoreVerticalOutlined, {});
78
+ }, [urlIcon, icon]);
67
79
  const handleClick = useCallback(
68
80
  (e, menuAction) => {
69
81
  e.stopPropagation();
@@ -1,9 +1,5 @@
1
1
  import { g as getComponentClasses } from "../../utils/getComponentSlotRoot.js";
2
2
  import { M as MenuActionsSlots } from "./slots/MenuActionsEnum.js";
3
- const ICON_PATH = "frontend/components/menu_actions/assets/icons";
4
- const ICONS = {
5
- MENU: "menu.svg"
6
- };
7
3
  const MENU_ACTIONS_KEY_COMPONENT = "M4LMenuActions";
8
4
  const MENU_ACTIONS_ = "menu_action_";
9
5
  const MenuActionsComplementaryClasses = {
@@ -15,9 +11,7 @@ const MENU_ACTIONS_COMBINATE_CLASSES = {
15
11
  };
16
12
  const MENU_ACTIONS_CLASSES = getComponentClasses(MENU_ACTIONS_KEY_COMPONENT, MENU_ACTIONS_COMBINATE_CLASSES);
17
13
  export {
18
- ICON_PATH as I,
19
14
  MENU_ACTIONS_ as M,
20
- ICONS as a,
21
- MENU_ACTIONS_CLASSES as b,
22
- MENU_ACTIONS_KEY_COMPONENT as c
15
+ MENU_ACTIONS_CLASSES as a,
16
+ MENU_ACTIONS_KEY_COMPONENT as b
23
17
  };