@unoff/ui 1.21.1 → 1.21.2

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 (127) hide show
  1. package/dist/assets/FormItem.css +1 -1
  2. package/dist/assets/MultipleSlider.css +1 -1
  3. package/dist/assets/SimpleSlider.css +1 -1
  4. package/dist/assets/styles/icons/icons.css +1 -1
  5. package/dist/assets/styles/icons/styles/figma.css +1 -1
  6. package/dist/assets/styles/icons/styles/framer.css +1 -1
  7. package/dist/assets/styles/icons/styles/penpot.css +1 -1
  8. package/dist/assets/styles/icons/styles/sketch.css +1 -1
  9. package/dist/components/actions/accordion/Accordion.d.ts +0 -1
  10. package/dist/components/actions/accordion/Accordion.d.ts.map +1 -1
  11. package/dist/components/actions/button/Button.d.ts +2 -3
  12. package/dist/components/actions/button/Button.d.ts.map +1 -1
  13. package/dist/components/actions/button/Button.js.map +1 -1
  14. package/dist/components/actions/card/Card.d.ts +0 -1
  15. package/dist/components/actions/card/Card.d.ts.map +1 -1
  16. package/dist/components/actions/knob/Knob.d.ts +2 -3
  17. package/dist/components/actions/knob/Knob.d.ts.map +1 -1
  18. package/dist/components/actions/knob/Knob.js.map +1 -1
  19. package/dist/components/actions/menu/Menu.d.ts +2 -3
  20. package/dist/components/actions/menu/Menu.d.ts.map +1 -1
  21. package/dist/components/actions/menu/Menu.js.map +1 -1
  22. package/dist/components/assets/avatar/Avatar.d.ts +0 -1
  23. package/dist/components/assets/avatar/Avatar.d.ts.map +1 -1
  24. package/dist/components/assets/icon/Icon.d.ts +0 -1
  25. package/dist/components/assets/icon/Icon.d.ts.map +1 -1
  26. package/dist/components/assets/section-title/SectionTitle.d.ts +0 -1
  27. package/dist/components/assets/section-title/SectionTitle.d.ts.map +1 -1
  28. package/dist/components/assets/text/Text.d.ts +0 -1
  29. package/dist/components/assets/text/Text.d.ts.map +1 -1
  30. package/dist/components/assets/thumbnail/Thumbnail.d.ts +0 -1
  31. package/dist/components/assets/thumbnail/Thumbnail.d.ts.map +1 -1
  32. package/dist/components/dialogs/consent/Consent.d.ts +2 -3
  33. package/dist/components/dialogs/consent/Consent.d.ts.map +1 -1
  34. package/dist/components/dialogs/consent/Consent.js.map +1 -1
  35. package/dist/components/dialogs/dialog/Dialog.d.ts +0 -1
  36. package/dist/components/dialogs/dialog/Dialog.d.ts.map +1 -1
  37. package/dist/components/dialogs/message/Message.d.ts +0 -1
  38. package/dist/components/dialogs/notification/Notification.d.ts +0 -1
  39. package/dist/components/dialogs/notification/Notification.d.ts.map +1 -1
  40. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts +2 -3
  41. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts.map +1 -1
  42. package/dist/components/dialogs/semantic-message/SemanticMessage.js.map +1 -1
  43. package/dist/components/inputs/dropdown/Dropdown.d.ts +2 -3
  44. package/dist/components/inputs/dropdown/Dropdown.d.ts.map +1 -1
  45. package/dist/components/inputs/dropdown/Dropdown.js.map +1 -1
  46. package/dist/components/inputs/dropzone/Dropzone.d.ts +2 -3
  47. package/dist/components/inputs/dropzone/Dropzone.d.ts.map +1 -1
  48. package/dist/components/inputs/dropzone/Dropzone.js.map +1 -1
  49. package/dist/components/inputs/input/Input.d.ts +2 -3
  50. package/dist/components/inputs/input/Input.d.ts.map +1 -1
  51. package/dist/components/inputs/input/Input.js.map +1 -1
  52. package/dist/components/inputs/inputs-bar/InputsBar.d.ts +0 -1
  53. package/dist/components/inputs/inputs-bar/InputsBar.d.ts.map +1 -1
  54. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts +15 -8
  55. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts.map +1 -1
  56. package/dist/components/inputs/multiple-slider/MultipleSlider.js +270 -241
  57. package/dist/components/inputs/multiple-slider/MultipleSlider.js.map +1 -1
  58. package/dist/components/inputs/multiple-slider/actions/addStop.d.ts.map +1 -1
  59. package/dist/components/inputs/multiple-slider/actions/deleteStop.d.ts.map +1 -1
  60. package/dist/components/inputs/multiple-slider/actions/shiftLeftStop.d.ts.map +1 -1
  61. package/dist/components/inputs/multiple-slider/actions/shiftRightStop.d.ts.map +1 -1
  62. package/dist/components/inputs/select/Select.d.ts +3 -4
  63. package/dist/components/inputs/select/Select.d.ts.map +1 -1
  64. package/dist/components/inputs/select/Select.js.map +1 -1
  65. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts +14 -4
  66. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts.map +1 -1
  67. package/dist/components/inputs/simple-slider/SimpleSlider.js +94 -74
  68. package/dist/components/inputs/simple-slider/SimpleSlider.js.map +1 -1
  69. package/dist/components/lists/actions-item/ActionsItem.d.ts +0 -1
  70. package/dist/components/lists/actions-list/ActionsList.d.ts +4 -5
  71. package/dist/components/lists/actions-list/ActionsList.d.ts.map +1 -1
  72. package/dist/components/lists/actions-list/ActionsList.js.map +1 -1
  73. package/dist/components/lists/color-item/ColorItem.d.ts +0 -1
  74. package/dist/components/lists/color-item/ColorItem.d.ts.map +1 -1
  75. package/dist/components/lists/draggable-item/DraggableItem.d.ts +2 -3
  76. package/dist/components/lists/draggable-item/DraggableItem.d.ts.map +1 -1
  77. package/dist/components/lists/draggable-item/DraggableItem.js.map +1 -1
  78. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts +0 -1
  79. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts.map +1 -1
  80. package/dist/components/lists/members-list/MembersList.d.ts +0 -1
  81. package/dist/components/lists/sortable-list/SortableList.d.ts +2 -3
  82. package/dist/components/lists/sortable-list/SortableList.d.ts.map +1 -1
  83. package/dist/components/lists/sortable-list/SortableList.js.map +1 -1
  84. package/dist/components/lists/tabs/Tabs.d.ts +0 -1
  85. package/dist/components/lists/tabs/Tabs.d.ts.map +1 -1
  86. package/dist/components/slots/bar/Bar.d.ts +1 -2
  87. package/dist/components/slots/bar/Bar.d.ts.map +1 -1
  88. package/dist/components/slots/draggable-window/DraggableWindow.d.ts +0 -1
  89. package/dist/components/slots/draggable-window/DraggableWindow.d.ts.map +1 -1
  90. package/dist/components/slots/drawer/Drawer.d.ts +1 -2
  91. package/dist/components/slots/drawer/Drawer.d.ts.map +1 -1
  92. package/dist/components/slots/form-item/FormItem.d.ts +0 -1
  93. package/dist/components/slots/form-item/FormItem.d.ts.map +1 -1
  94. package/dist/components/slots/layout/Layout.d.ts +0 -1
  95. package/dist/components/slots/layout/Layout.d.ts.map +1 -1
  96. package/dist/components/slots/list/List.d.ts +0 -1
  97. package/dist/components/slots/list/List.d.ts.map +1 -1
  98. package/dist/components/slots/popin/Popin.d.ts +0 -1
  99. package/dist/components/slots/popin/Popin.d.ts.map +1 -1
  100. package/dist/components/slots/section/Section.d.ts +1 -2
  101. package/dist/components/slots/section/Section.d.ts.map +1 -1
  102. package/dist/components/slots/simple-item/SimpleItem.d.ts +0 -1
  103. package/dist/components/tags/chip/Chip.d.ts +0 -1
  104. package/dist/components/tags/chip/Chip.d.ts.map +1 -1
  105. package/dist/components/tags/color-chip/ColorChip.d.ts +2 -3
  106. package/dist/components/tags/color-chip/ColorChip.d.ts.map +1 -1
  107. package/dist/components/tags/color-chip/ColorChip.js.map +1 -1
  108. package/dist/components/tags/icon-chip/IconChip.d.ts +2 -3
  109. package/dist/components/tags/icon-chip/IconChip.d.ts.map +1 -1
  110. package/dist/components/tags/icon-chip/IconChip.js.map +1 -1
  111. package/dist/components/tags/tooltip/Tooltip.d.ts +0 -1
  112. package/dist/components/tags/tooltip/Tooltip.d.ts.map +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +2 -0
  116. package/dist/index.js.map +1 -1
  117. package/dist/styles/icons/icons.module.js +114 -110
  118. package/dist/styles/icons/icons.module.js.map +1 -1
  119. package/dist/tests/setup.d.ts +0 -1
  120. package/dist/types/consent.types.d.ts +0 -1
  121. package/dist/types/consent.types.d.ts.map +1 -1
  122. package/dist/types/icon.types.d.ts +2 -1
  123. package/dist/types/icon.types.d.ts.map +1 -1
  124. package/dist/types/icon.types.js +114 -1
  125. package/dist/types/icon.types.js.map +1 -1
  126. package/dist/types/list.types.d.ts +0 -1
  127. package/package.json +15 -12
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/accordion/Accordion.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,kBAAkB,CAAA;AAEzB,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,qCAAqC;QACrC,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,uCAAuC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,EAAE,CACL,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;IACT;;OAEG;IACH,OAAO,EAAE,CACP,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;CACV;AAED,QAAA,MAAM,SAAS,UAAW,cAAc,4CAwGvC,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/accordion/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAI1C,OAAO,kBAAkB,CAAA;AAEzB,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,qCAAqC;QACrC,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,uCAAuC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;OAEG;IACH,KAAK,EAAE,CACL,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;IACT;;OAEG;IACH,OAAO,EAAE,CACP,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;CACV;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,cAAc,4CAwGvC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { IconList } from '../../../types/icon.types';
3
-
4
3
  export interface ButtonProps {
5
4
  /**
6
5
  * Visual style of the button
@@ -127,11 +126,11 @@ export interface ButtonProps {
127
126
  */
128
127
  onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler;
129
128
  }
130
- interface ButtonStates {
129
+ interface ButtonState {
131
130
  isTooltipVisible: boolean;
132
131
  documentWidth: number;
133
132
  }
134
- export default class Button extends React.Component<ButtonProps, ButtonStates> {
133
+ export default class Button extends React.Component<ButtonProps, ButtonState> {
135
134
  buttonRef: React.RefObject<HTMLButtonElement>;
136
135
  static defaultProps: Partial<ButtonProps>;
137
136
  constructor(props: ButtonProps);
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/button/Button.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../../src/components/actions/button/Button.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport layouts from '@styles/layouts.module.scss'\nimport Tooltip from '@components/tags/tooltip/Tooltip'\nimport IconChip from '@components/tags/icon-chip/IconChip'\nimport Chip from '@components/tags/chip/Chip'\nimport Icon from '@components/assets/icon/Icon'\nimport type { IconList } from '@tps/icon.types'\nimport './button.scss'\n\nexport interface ButtonProps {\n /**\n * Visual style of the button\n */\n type:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'destructive'\n | 'alternative'\n | 'icon'\n /**\n * Size of the button\n * @default 'default'\n */\n size?: 'small' | 'default' | 'large'\n /**\n * Icon name to display in the button\n */\n icon?: IconList\n /**\n * Custom CSS class for the icon\n */\n iconClassName?: string\n /**\n * Custom icon element to replace the default icon\n */\n customIcon?: React.ReactElement\n /**\n * Text label of the button\n */\n label?: string\n /**\n * Visual state of the button\n * @default 'default'\n */\n state?: 'default' | 'selected'\n /**\n * URL for link buttons\n */\n url?: string\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip position */\n pin?: 'TOP' | 'BOTTOM'\n /** Tooltip display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Preview tooltip configuration with image\n */\n preview?: {\n /** Preview image URL */\n image: string\n /** Preview text */\n text: string | React.ReactNode\n /** Preview position */\n pin?: 'TOP' | 'BOTTOM'\n }\n /**\n * Warning tooltip configuration\n */\n warning?: {\n /** Warning message */\n label: string | React.ReactNode\n /** Warning position */\n pin?: 'TOP' | 'BOTTOM'\n /** Warning display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Feature identifier for tracking\n */\n feature?: string\n /**\n * Whether the button has multiple actions\n * @default false\n */\n hasMultipleActions?: boolean\n /**\n * Whether the button should render as a link\n * @default false\n */\n isLink?: boolean\n /**\n * Whether the button should auto-focus on mount\n * @default false\n */\n isAutofocus?: boolean\n /**\n * Reflow configuration for responsive behavior\n * @default { isEnabled: false, icon: 'adjust' }\n */\n shouldReflow?: {\n /** Whether reflow is enabled */\n isEnabled: boolean\n /** Icon to show when reflowed */\n icon: IconList\n }\n /**\n * Whether the button is in loading state\n * @default false\n */\n isLoading?: boolean\n /**\n * Whether the button is blocked (shows unblock action)\n * @default false\n */\n isBlocked?: boolean\n /**\n * Whether the button is disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * Whether to show a \"New\" badge\n * @default false\n */\n isNew?: boolean\n /**\n * Click handler for the button\n */\n action?: React.MouseEventHandler & React.KeyboardEventHandler\n /**\n * Handler called when unblock is clicked\n */\n onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler\n}\n\ninterface ButtonStates {\n isTooltipVisible: boolean\n documentWidth: number\n}\n\nexport default class Button extends React.Component<ButtonProps, ButtonStates> {\n buttonRef: React.RefObject<HTMLButtonElement> = React.createRef()\n\n static defaultProps: Partial<ButtonProps> = {\n size: 'default',\n state: 'default',\n hasMultipleActions: false,\n isLink: false,\n shouldReflow: { isEnabled: false, icon: 'adjust' },\n isAutofocus: false,\n isLoading: false,\n isBlocked: false,\n isDisabled: false,\n isNew: false,\n }\n\n constructor(props: ButtonProps) {\n super(props)\n this.state = {\n isTooltipVisible: false,\n documentWidth: document.documentElement.clientWidth,\n }\n }\n\n // Lifecycle\n componentDidMount = () => {\n const { isAutofocus } = this.props\n\n if (isAutofocus)\n setTimeout(() => {\n if (this.buttonRef.current) this.buttonRef.current.focus()\n }, 1)\n\n window.addEventListener('resize', this.handleResize)\n }\n\n componentWillUnmount = () => {\n window.removeEventListener('resize', this.handleResize)\n }\n\n // Handlers\n handleResize = () => {\n this.setState({ documentWidth: document.documentElement.clientWidth })\n }\n\n // Templates\n Status = () => {\n const { warning, preview, isBlocked, isNew, onUnblock } = this.props\n\n if (warning || isBlocked || isNew)\n return (\n <div className=\"button__status\">\n {warning !== undefined && (\n <IconChip\n iconType=\"PICTO\"\n iconName=\"warning\"\n text={warning.label}\n pin={warning.pin}\n type={warning.type}\n />\n )}\n {(isBlocked || isNew) && (\n <Chip\n preview={preview}\n isSolo\n action={isBlocked ? onUnblock : undefined}\n >\n {isNew ? 'New' : 'Pro'}\n </Chip>\n )}\n </div>\n )\n }\n\n Button = () => {\n const {\n type,\n icon,\n size,\n helper,\n feature,\n hasMultipleActions,\n isLoading,\n isDisabled,\n isBlocked,\n action,\n label,\n shouldReflow,\n } = this.props\n const { isTooltipVisible, documentWidth } = this.state\n\n const isReflowActive = shouldReflow?.isEnabled && documentWidth <= 460\n\n const getButtonLabel = () => (isReflowActive ? undefined : label)\n const getTooltipLabel = () => (isReflowActive ? label : helper?.label)\n const hasTooltipContent = () =>\n isReflowActive ? label !== undefined : helper !== undefined\n const getIconName = () =>\n isReflowActive && shouldReflow?.icon !== undefined\n ? shouldReflow.icon\n : icon\n\n return (\n <div className={layouts['snackbar--medium']}>\n <button\n role=\"button\"\n className={doClassnames([\n 'button',\n `button--${type}`,\n `button--${size}`,\n isLoading && 'button--loading',\n isBlocked && 'button--blocked',\n ])}\n data-feature={feature}\n disabled={isDisabled || isBlocked}\n aria-label={\n typeof (getButtonLabel() || helper?.label) === 'string'\n ? ((getButtonLabel() || helper?.label) as string)\n : undefined\n }\n aria-disabled={isDisabled || isBlocked}\n aria-busy={isLoading}\n onKeyDown={(e) => {\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n (!isDisabled || !isBlocked)\n )\n action?.(e)\n if (e.key === 'Escape') (e.target as HTMLElement).blur()\n }}\n onMouseDown={!(isDisabled || isBlocked) ? action : undefined}\n onMouseEnter={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: false })\n }}\n onFocus={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: true })\n }}\n onBlur={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: false })\n }}\n tabIndex={0}\n ref={this.buttonRef}\n >\n {getIconName() !== undefined && (\n <span\n className=\"button__icon\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName={getIconName()}\n />\n </span>\n )}\n {getButtonLabel() !== undefined && (\n <span className=\"button__label\">{getButtonLabel()}</span>\n )}\n {isLoading && (\n <div\n className=\"button__loader\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName=\"spinner\"\n customClassName=\"button__spinner\"\n />\n </div>\n )}\n {hasMultipleActions && (\n <span\n className=\"button__caret\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName=\"chevron-down\"\n />\n </span>\n )}\n {isTooltipVisible && hasTooltipContent() && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {getTooltipLabel()}\n </Tooltip>\n )}\n </button>\n {this.Status()}\n </div>\n )\n }\n\n LinkButton = () => {\n const { type, size, feature, label, url } = this.props\n\n return (\n <button\n role=\"link\"\n className={doClassnames([\n 'button',\n `button--${type}`,\n `button--${size}`,\n ])}\n data-feature={feature}\n ref={this.buttonRef}\n aria-label={label}\n tabIndex={0}\n >\n <a\n href={url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"button__label\"\n aria-label={label}\n >\n {label}\n </a>\n </button>\n )\n }\n\n Icon = () => {\n const {\n size,\n icon,\n iconClassName,\n customIcon,\n feature,\n state,\n helper,\n isLoading,\n isDisabled,\n isBlocked,\n isNew,\n action,\n } = this.props\n const { isTooltipVisible } = this.state\n\n return (\n <div className={layouts['snackbar--medium']}>\n <button\n role=\"button\"\n data-feature={feature}\n className={doClassnames([\n 'icon-button',\n `icon-button--${size}`,\n state === 'selected' && 'icon-button--selected',\n isNew && 'icon-button--new',\n isLoading && 'button--loading',\n ])}\n disabled={isDisabled || isBlocked}\n aria-label={typeof helper?.label === 'string' ? helper.label : icon}\n aria-disabled={isDisabled || isBlocked}\n aria-pressed={state === 'selected'}\n aria-busy={isLoading}\n onKeyDown={(e) => {\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n !(isDisabled || isBlocked)\n )\n action?.(e)\n if (e.key === 'Escape') (e.target as HTMLElement).blur()\n }}\n onMouseDown={!(isDisabled || isBlocked) ? action : undefined}\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n onFocus={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onBlur={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n tabIndex={0}\n ref={this.buttonRef}\n >\n {customIcon === undefined ? (\n <Icon\n type=\"PICTO\"\n iconName={isLoading ? 'spinner' : icon}\n customClassName={\n iconClassName !== undefined ? iconClassName : undefined\n }\n />\n ) : (\n <div\n style={{\n opacity: isDisabled || isBlocked ? 0.5 : 1,\n pointerEvents: 'none',\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n {customIcon}\n </div>\n )}\n {isTooltipVisible && helper !== undefined && state !== 'selected' && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </button>\n {!isNew && this.Status()}\n </div>\n )\n }\n\n // Render\n render() {\n const { type, isLink } = this.props\n\n if (type !== 'icon') return isLink ? this.LinkButton() : this.Button()\n return this.Icon()\n }\n}\n"],"names":["Button","React","props","isAutofocus","warning","preview","isBlocked","isNew","onUnblock","jsxs","jsx","IconChip","Chip","type","icon","size","helper","feature","hasMultipleActions","isLoading","isDisabled","action","label","shouldReflow","isTooltipVisible","documentWidth","isReflowActive","getButtonLabel","getTooltipLabel","hasTooltipContent","getIconName","layouts","doClassnames","e","Icon","Tooltip","url","iconClassName","customIcon","state","isLink"],"mappings":";;;;;;;;AAoJA,MAAqBA,UAAeC,EAAM,UAAqC;AAAA,EAC7E,YAAgDA,EAAM,UAAA;AAAA,EAEtD,OAAO,eAAqC;AAAA,IAC1C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,oBAAoB;AAAA,IACpB,QAAQ;AAAA,IACR,cAAc,EAAE,WAAW,IAAO,MAAM,SAAA;AAAA,IACxC,aAAa;AAAA,IACb,WAAW;AAAA,IACX,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EAAA;AAAA,EAGT,YAAYC,GAAoB;AAC9B,UAAMA,CAAK,GACX,KAAK,QAAQ;AAAA,MACX,kBAAkB;AAAA,MAClB,eAAe,SAAS,gBAAgB;AAAA,IAAA;AAAA,EAE5C;AAAA;AAAA,EAGA,oBAAoB,MAAM;AACxB,UAAM,EAAE,aAAAC,MAAgB,KAAK;AAE7B,IAAIA,KACF,WAAW,MAAM;AACf,MAAI,KAAK,UAAU,WAAS,KAAK,UAAU,QAAQ,MAAA;AAAA,IACrD,GAAG,CAAC,GAEN,OAAO,iBAAiB,UAAU,KAAK,YAAY;AAAA,EACrD;AAAA,EAEA,uBAAuB,MAAM;AAC3B,WAAO,oBAAoB,UAAU,KAAK,YAAY;AAAA,EACxD;AAAA;AAAA,EAGA,eAAe,MAAM;AACnB,SAAK,SAAS,EAAE,eAAe,SAAS,gBAAgB,aAAa;AAAA,EACvE;AAAA;AAAA,EAGA,SAAS,MAAM;AACb,UAAM,EAAE,SAAAC,GAAS,SAAAC,GAAS,WAAAC,GAAW,OAAAC,GAAO,WAAAC,EAAA,IAAc,KAAK;AAE/D,QAAIJ,KAAWE,KAAaC;AAC1B,aACE,gBAAAE,EAAC,OAAA,EAAI,WAAU,kBACZ,UAAA;AAAA,QAAAL,MAAY,UACX,gBAAAM;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,UAAS;AAAA,YACT,UAAS;AAAA,YACT,MAAMP,EAAQ;AAAA,YACd,KAAKA,EAAQ;AAAA,YACb,MAAMA,EAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,SAGhBE,KAAaC,MACb,gBAAAG;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,SAAAP;AAAA,YACA,QAAM;AAAA,YACN,QAAQC,IAAYE,IAAY;AAAA,YAE/B,cAAQ,QAAQ;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB,GAEJ;AAAA,EAEN;AAAA,EAEA,SAAS,MAAM;AACb,UAAM;AAAA,MACJ,MAAAK;AAAA,MACA,MAAAC;AAAA,MACA,MAAAC;AAAA,MACA,QAAAC;AAAA,MACA,SAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAd;AAAA,MACA,QAAAe;AAAA,MACA,OAAAC;AAAA,MACA,cAAAC;AAAA,IAAA,IACE,KAAK,OACH,EAAE,kBAAAC,GAAkB,eAAAC,EAAA,IAAkB,KAAK,OAE3CC,IAAiBH,GAAc,aAAaE,KAAiB,KAE7DE,IAAiB,MAAOD,IAAiB,SAAYJ,GACrDM,IAAkB,MAAOF,IAAiBJ,IAAQN,GAAQ,OAC1Da,IAAoB,MACxBH,IAAiBJ,MAAU,SAAYN,MAAW,QAC9Cc,IAAc,MAClBJ,KAAkBH,GAAc,SAAS,SACrCA,EAAa,OACbT;AAEN,WACE,gBAAAL,EAAC,OAAA,EAAI,WAAWsB,EAAQ,kBAAkB,GACxC,UAAA;AAAA,MAAA,gBAAAtB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWuB,EAAa;AAAA,YACtB;AAAA,YACA,WAAWnB,CAAI;AAAA,YACf,WAAWE,CAAI;AAAA,YACfI,KAAa;AAAA,YACbb,KAAa;AAAA,UAAA,CACd;AAAA,UACD,gBAAcW;AAAA,UACd,UAAUG,KAAcd;AAAA,UACxB,cACE,QAAQqB,OAAoBX,GAAQ,UAAW,WACzCW,EAAA,KAAoBX,GAAQ,QAC9B;AAAA,UAEN,iBAAeI,KAAcd;AAAA,UAC7B,aAAWa;AAAA,UACX,WAAW,CAACc,MAAM;AAChB,aACGA,EAAE,QAAQ,OAAOA,EAAE,QAAQ,aAC3B,CAACb,KAAc,CAACd,MAEjBe,IAASY,CAAC,GACRA,EAAE,QAAQ,YAAWA,EAAE,OAAuB,KAAA;AAAA,UACpD;AAAA,UACA,aAAeb,KAAcd,IAAsB,SAATe;AAAA,UAC1C,cAAc,MAAM;AAClB,YAAIQ,OAAqB,KAAK,SAAS,EAAE,kBAAkB,IAAM;AAAA,UACnE;AAAA,UACA,cAAc,MAAM;AAClB,YAAIA,OAAqB,KAAK,SAAS,EAAE,kBAAkB,IAAO;AAAA,UACpE;AAAA,UACA,SAAS,MAAM;AACb,YAAIA,OAAqB,KAAK,SAAS,EAAE,kBAAkB,IAAM;AAAA,UACnE;AAAA,UACA,QAAQ,MAAM;AACZ,YAAIA,OAAqB,KAAK,SAAS,EAAE,kBAAkB,IAAO;AAAA,UACpE;AAAA,UACA,UAAU;AAAA,UACV,KAAK,KAAK;AAAA,UAET,UAAA;AAAA,YAAAC,EAAA,MAAkB,UACjB,gBAAApB;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBAEZ,UAAA,gBAAAA;AAAA,kBAACwB;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,UAAUJ,EAAA;AAAA,kBAAY;AAAA,gBAAA;AAAA,cACxB;AAAA,YAAA;AAAA,YAGHH,EAAA,MAAqB,UACpB,gBAAAjB,EAAC,UAAK,WAAU,iBAAiB,eAAiB;AAAA,YAEnDS,KACC,gBAAAT;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBAEZ,UAAA,gBAAAA;AAAA,kBAACwB;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,UAAS;AAAA,oBACT,iBAAgB;AAAA,kBAAA;AAAA,gBAAA;AAAA,cAClB;AAAA,YAAA;AAAA,YAGHhB,KACC,gBAAAR;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,eAAY;AAAA,gBAEZ,UAAA,gBAAAA;AAAA,kBAACwB;AAAA,kBAAA;AAAA,oBACC,MAAK;AAAA,oBACL,UAAS;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACX;AAAA,YAAA;AAAA,YAGHV,KAAoBK,OACnB,gBAAAnB;AAAA,cAACyB;AAAA,cAAA;AAAA,gBACC,KAAKnB,GAAQ,OAAO;AAAA,gBACpB,MAAMA,GAAQ,QAAQ;AAAA,gBAErB,UAAAY,EAAA;AAAA,cAAgB;AAAA,YAAA;AAAA,UACnB;AAAA,QAAA;AAAA,MAAA;AAAA,MAGH,KAAK,OAAA;AAAA,IAAO,GACf;AAAA,EAEJ;AAAA,EAEA,aAAa,MAAM;AACjB,UAAM,EAAE,MAAAf,GAAM,MAAAE,GAAM,SAAAE,GAAS,OAAAK,GAAO,KAAAc,EAAA,IAAQ,KAAK;AAEjD,WACE,gBAAA1B;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,WAAWsB,EAAa;AAAA,UACtB;AAAA,UACA,WAAWnB,CAAI;AAAA,UACf,WAAWE,CAAI;AAAA,QAAA,CAChB;AAAA,QACD,gBAAcE;AAAA,QACd,KAAK,KAAK;AAAA,QACV,cAAYK;AAAA,QACZ,UAAU;AAAA,QAEV,UAAA,gBAAAZ;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAM0B;AAAA,YACN,QAAO;AAAA,YACP,KAAI;AAAA,YACJ,WAAU;AAAA,YACV,cAAYd;AAAA,YAEX,UAAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAGN;AAAA,EAEA,OAAO,MAAM;AACX,UAAM;AAAA,MACJ,MAAAP;AAAA,MACA,MAAAD;AAAA,MACA,eAAAuB;AAAA,MACA,YAAAC;AAAA,MACA,SAAArB;AAAA,MACA,OAAAsB;AAAA,MACA,QAAAvB;AAAA,MACA,WAAAG;AAAA,MACA,YAAAC;AAAA,MACA,WAAAd;AAAA,MACA,OAAAC;AAAA,MACA,QAAAc;AAAA,IAAA,IACE,KAAK,OACH,EAAE,kBAAAG,MAAqB,KAAK;AAElC,WACE,gBAAAf,EAAC,OAAA,EAAI,WAAWsB,EAAQ,kBAAkB,GACxC,UAAA;AAAA,MAAA,gBAAAtB;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,gBAAcQ;AAAA,UACd,WAAWe,EAAa;AAAA,YACtB;AAAA,YACA,gBAAgBjB,CAAI;AAAA,YACpBwB,MAAU,cAAc;AAAA,YACxBhC,KAAS;AAAA,YACTY,KAAa;AAAA,UAAA,CACd;AAAA,UACD,UAAUC,KAAcd;AAAA,UACxB,cAAY,OAAOU,GAAQ,SAAU,WAAWA,EAAO,QAAQF;AAAA,UAC/D,iBAAeM,KAAcd;AAAA,UAC7B,gBAAciC,MAAU;AAAA,UACxB,aAAWpB;AAAA,UACX,WAAW,CAACc,MAAM;AAChB,aACGA,EAAE,QAAQ,OAAOA,EAAE,QAAQ,YAC5B,EAAEb,KAAcd,MAEhBe,IAASY,CAAC,GACRA,EAAE,QAAQ,YAAWA,EAAE,OAAuB,KAAA;AAAA,UACpD;AAAA,UACA,aAAeb,KAAcd,IAAsB,SAATe;AAAA,UAC1C,cAAc,MAAM;AAClB,YAAIL,MAAW,UAAW,KAAK,SAAS,EAAE,kBAAkB,IAAM;AAAA,UACpE;AAAA,UACA,cAAc,MAAM;AAClB,YAAIA,MAAW,UAAW,KAAK,SAAS,EAAE,kBAAkB,IAAO;AAAA,UACrE;AAAA,UACA,SAAS,MAAM;AACb,YAAIA,MAAW,UAAW,KAAK,SAAS,EAAE,kBAAkB,IAAM;AAAA,UACpE;AAAA,UACA,QAAQ,MAAM;AACZ,YAAIA,MAAW,UAAW,KAAK,SAAS,EAAE,kBAAkB,IAAO;AAAA,UACrE;AAAA,UACA,UAAU;AAAA,UACV,KAAK,KAAK;AAAA,UAET,UAAA;AAAA,YAAAsB,MAAe,SACd,gBAAA5B;AAAA,cAACwB;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,UAAUf,IAAY,YAAYL;AAAA,gBAClC,iBACEuB,MAAkB,SAAYA,IAAgB;AAAA,cAAA;AAAA,YAAA,IAIlD,gBAAA3B;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,OAAO;AAAA,kBACL,SAASU,KAAcd,IAAY,MAAM;AAAA,kBACzC,eAAe;AAAA,kBACf,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,SAAS;AAAA,kBACT,YAAY;AAAA,kBACZ,gBAAgB;AAAA,gBAAA;AAAA,gBAGjB,UAAAgC;AAAA,cAAA;AAAA,YAAA;AAAA,YAGJd,KAAoBR,MAAW,UAAauB,MAAU,cACrD,gBAAA7B;AAAA,cAACyB;AAAA,cAAA;AAAA,gBACC,KAAKnB,GAAQ,OAAO;AAAA,gBACpB,MAAMA,GAAQ,QAAQ;AAAA,gBAErB,UAAAA,GAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACX;AAAA,QAAA;AAAA,MAAA;AAAA,MAGH,CAACT,KAAS,KAAK,OAAA;AAAA,IAAO,GACzB;AAAA,EAEJ;AAAA;AAAA,EAGA,SAAS;AACP,UAAM,EAAE,MAAAM,GAAM,QAAA2B,EAAA,IAAW,KAAK;AAE9B,WAAI3B,MAAS,SAAe2B,IAAS,KAAK,WAAA,IAAe,KAAK,OAAA,IACvD,KAAK,KAAA;AAAA,EACd;AACF;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../../src/components/actions/button/Button.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport layouts from '@styles/layouts.module.scss'\nimport Tooltip from '@components/tags/tooltip/Tooltip'\nimport IconChip from '@components/tags/icon-chip/IconChip'\nimport Chip from '@components/tags/chip/Chip'\nimport Icon from '@components/assets/icon/Icon'\nimport type { IconList } from '@tps/icon.types'\nimport './button.scss'\n\nexport interface ButtonProps {\n /**\n * Visual style of the button\n */\n type:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'destructive'\n | 'alternative'\n | 'icon'\n /**\n * Size of the button\n * @default 'default'\n */\n size?: 'small' | 'default' | 'large'\n /**\n * Icon name to display in the button\n */\n icon?: IconList\n /**\n * Custom CSS class for the icon\n */\n iconClassName?: string\n /**\n * Custom icon element to replace the default icon\n */\n customIcon?: React.ReactElement\n /**\n * Text label of the button\n */\n label?: string\n /**\n * Visual state of the button\n * @default 'default'\n */\n state?: 'default' | 'selected'\n /**\n * URL for link buttons\n */\n url?: string\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip position */\n pin?: 'TOP' | 'BOTTOM'\n /** Tooltip display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Preview tooltip configuration with image\n */\n preview?: {\n /** Preview image URL */\n image: string\n /** Preview text */\n text: string | React.ReactNode\n /** Preview position */\n pin?: 'TOP' | 'BOTTOM'\n }\n /**\n * Warning tooltip configuration\n */\n warning?: {\n /** Warning message */\n label: string | React.ReactNode\n /** Warning position */\n pin?: 'TOP' | 'BOTTOM'\n /** Warning display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Feature identifier for tracking\n */\n feature?: string\n /**\n * Whether the button has multiple actions\n * @default false\n */\n hasMultipleActions?: boolean\n /**\n * Whether the button should render as a link\n * @default false\n */\n isLink?: boolean\n /**\n * Whether the button should auto-focus on mount\n * @default false\n */\n isAutofocus?: boolean\n /**\n * Reflow configuration for responsive behavior\n * @default { isEnabled: false, icon: 'adjust' }\n */\n shouldReflow?: {\n /** Whether reflow is enabled */\n isEnabled: boolean\n /** Icon to show when reflowed */\n icon: IconList\n }\n /**\n * Whether the button is in loading state\n * @default false\n */\n isLoading?: boolean\n /**\n * Whether the button is blocked (shows unblock action)\n * @default false\n */\n isBlocked?: boolean\n /**\n * Whether the button is disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * Whether to show a \"New\" badge\n * @default false\n */\n isNew?: boolean\n /**\n * Click handler for the button\n */\n action?: React.MouseEventHandler & React.KeyboardEventHandler\n /**\n * Handler called when unblock is clicked\n */\n onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler\n}\n\ninterface ButtonState {\n isTooltipVisible: boolean\n documentWidth: number\n}\n\nexport default class Button extends React.Component<ButtonProps, ButtonState> {\n buttonRef: React.RefObject<HTMLButtonElement> = React.createRef()\n\n static defaultProps: Partial<ButtonProps> = {\n size: 'default',\n state: 'default',\n hasMultipleActions: false,\n isLink: false,\n shouldReflow: { isEnabled: false, icon: 'adjust' },\n isAutofocus: false,\n isLoading: false,\n isBlocked: false,\n isDisabled: false,\n isNew: false,\n }\n\n constructor(props: ButtonProps) {\n super(props)\n this.state = {\n isTooltipVisible: false,\n documentWidth: document.documentElement.clientWidth,\n }\n }\n\n // Lifecycle\n componentDidMount = () => {\n const { isAutofocus } = this.props\n\n if (isAutofocus)\n setTimeout(() => {\n if (this.buttonRef.current) this.buttonRef.current.focus()\n }, 1)\n\n window.addEventListener('resize', this.handleResize)\n }\n\n componentWillUnmount = () => {\n window.removeEventListener('resize', this.handleResize)\n }\n\n // Handlers\n handleResize = () => {\n this.setState({ documentWidth: document.documentElement.clientWidth })\n }\n\n // Templates\n Status = () => {\n const { warning, preview, isBlocked, isNew, onUnblock } = this.props\n\n if (warning || isBlocked || isNew)\n return (\n <div className=\"button__status\">\n {warning !== undefined && (\n <IconChip\n iconType=\"PICTO\"\n iconName=\"warning\"\n text={warning.label}\n pin={warning.pin}\n type={warning.type}\n />\n )}\n {(isBlocked || isNew) && (\n <Chip\n preview={preview}\n isSolo\n action={isBlocked ? onUnblock : undefined}\n >\n {isNew ? 'New' : 'Pro'}\n </Chip>\n )}\n </div>\n )\n }\n\n Button = () => {\n const {\n type,\n icon,\n size,\n helper,\n feature,\n hasMultipleActions,\n isLoading,\n isDisabled,\n isBlocked,\n action,\n label,\n shouldReflow,\n } = this.props\n const { isTooltipVisible, documentWidth } = this.state\n\n const isReflowActive = shouldReflow?.isEnabled && documentWidth <= 460\n\n const getButtonLabel = () => (isReflowActive ? undefined : label)\n const getTooltipLabel = () => (isReflowActive ? label : helper?.label)\n const hasTooltipContent = () =>\n isReflowActive ? label !== undefined : helper !== undefined\n const getIconName = () =>\n isReflowActive && shouldReflow?.icon !== undefined\n ? shouldReflow.icon\n : icon\n\n return (\n <div className={layouts['snackbar--medium']}>\n <button\n role=\"button\"\n className={doClassnames([\n 'button',\n `button--${type}`,\n `button--${size}`,\n isLoading && 'button--loading',\n isBlocked && 'button--blocked',\n ])}\n data-feature={feature}\n disabled={isDisabled || isBlocked}\n aria-label={\n typeof (getButtonLabel() || helper?.label) === 'string'\n ? ((getButtonLabel() || helper?.label) as string)\n : undefined\n }\n aria-disabled={isDisabled || isBlocked}\n aria-busy={isLoading}\n onKeyDown={(e) => {\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n (!isDisabled || !isBlocked)\n )\n action?.(e)\n if (e.key === 'Escape') (e.target as HTMLElement).blur()\n }}\n onMouseDown={!(isDisabled || isBlocked) ? action : undefined}\n onMouseEnter={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: false })\n }}\n onFocus={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: true })\n }}\n onBlur={() => {\n if (hasTooltipContent()) this.setState({ isTooltipVisible: false })\n }}\n tabIndex={0}\n ref={this.buttonRef}\n >\n {getIconName() !== undefined && (\n <span\n className=\"button__icon\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName={getIconName()}\n />\n </span>\n )}\n {getButtonLabel() !== undefined && (\n <span className=\"button__label\">{getButtonLabel()}</span>\n )}\n {isLoading && (\n <div\n className=\"button__loader\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName=\"spinner\"\n customClassName=\"button__spinner\"\n />\n </div>\n )}\n {hasMultipleActions && (\n <span\n className=\"button__caret\"\n aria-hidden=\"true\"\n >\n <Icon\n type=\"PICTO\"\n iconName=\"chevron-down\"\n />\n </span>\n )}\n {isTooltipVisible && hasTooltipContent() && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {getTooltipLabel()}\n </Tooltip>\n )}\n </button>\n {this.Status()}\n </div>\n )\n }\n\n LinkButton = () => {\n const { type, size, feature, label, url } = this.props\n\n return (\n <button\n role=\"link\"\n className={doClassnames([\n 'button',\n `button--${type}`,\n `button--${size}`,\n ])}\n data-feature={feature}\n ref={this.buttonRef}\n aria-label={label}\n tabIndex={0}\n >\n <a\n href={url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"button__label\"\n aria-label={label}\n >\n {label}\n </a>\n </button>\n )\n }\n\n Icon = () => {\n const {\n size,\n icon,\n iconClassName,\n customIcon,\n feature,\n state,\n helper,\n isLoading,\n isDisabled,\n isBlocked,\n isNew,\n action,\n } = this.props\n const { isTooltipVisible } = this.state\n\n return (\n <div className={layouts['snackbar--medium']}>\n <button\n role=\"button\"\n data-feature={feature}\n className={doClassnames([\n 'icon-button',\n `icon-button--${size}`,\n state === 'selected' && 'icon-button--selected',\n isNew && 'icon-button--new',\n isLoading && 'button--loading',\n ])}\n disabled={isDisabled || isBlocked}\n aria-label={typeof helper?.label === 'string' ? helper.label : icon}\n aria-disabled={isDisabled || isBlocked}\n aria-pressed={state === 'selected'}\n aria-busy={isLoading}\n onKeyDown={(e) => {\n if (\n (e.key === ' ' || e.key === 'Enter') &&\n !(isDisabled || isBlocked)\n )\n action?.(e)\n if (e.key === 'Escape') (e.target as HTMLElement).blur()\n }}\n onMouseDown={!(isDisabled || isBlocked) ? action : undefined}\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n onFocus={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onBlur={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n tabIndex={0}\n ref={this.buttonRef}\n >\n {customIcon === undefined ? (\n <Icon\n type=\"PICTO\"\n iconName={isLoading ? 'spinner' : icon}\n customClassName={\n iconClassName !== undefined ? iconClassName : undefined\n }\n />\n ) : (\n <div\n style={{\n opacity: isDisabled || isBlocked ? 0.5 : 1,\n pointerEvents: 'none',\n width: '100%',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n {customIcon}\n </div>\n )}\n {isTooltipVisible && helper !== undefined && state !== 'selected' && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </button>\n {!isNew && this.Status()}\n </div>\n )\n }\n\n // Render\n render() {\n const { type, isLink } = this.props\n\n if (type !== 'icon') return isLink ? this.LinkButton() : this.Button()\n return this.Icon()\n }\n}\n"],"names":["Button","React","props","isAutofocus","warning","preview","isBlocked","isNew","onUnblock","jsxs","jsx","IconChip","Chip","type","icon","size","helper","feature","hasMultipleActions","isLoading","isDisabled","action","label","shouldReflow","isTooltipVisible","documentWidth","isReflowActive","getButtonLabel","getTooltipLabel","hasTooltipContent","getIconName","layouts","doClassnames","e","Icon","Tooltip","url","iconClassName","customIcon","state","isLink"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
-
2
1
  interface CardProps {
3
2
  /**
4
3
  * Image source URL for the card thumbnail
@@ -1 +1 @@
1
- {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/card/Card.tsx"],"names":[],"mappings":";AAKA,OAAO,aAAa,CAAA;AAEpB,UAAU,SAAS;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,CACN,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;CACV;AAED,QAAA,MAAM,IAAI,UAAW,SAAS,4CAmF7B,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/card/Card.tsx"],"names":[],"mappings":"AAKA,OAAO,aAAa,CAAA;AAEpB,UAAU,SAAS;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,CACN,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,KAC5D,IAAI,CAAA;CACV;AAED,QAAA,MAAM,IAAI,GAAI,OAAO,SAAS,4CAmF7B,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { default as React } from 'react';
2
-
3
2
  export interface KnobProps {
4
3
  /**
5
4
  * Unique identifier for the knob
@@ -77,12 +76,12 @@ export interface KnobProps {
77
76
  */
78
77
  onValidStopValue?: (stopId: string, e: React.FocusEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>) => void;
79
78
  }
80
- export interface KnobStates {
79
+ export interface KnobState {
81
80
  isStopInputOpen: boolean;
82
81
  isTooltipOpen: boolean;
83
82
  stopInputValue: string | number;
84
83
  }
85
- export default class Knob extends React.Component<KnobProps, KnobStates> {
84
+ export default class Knob extends React.Component<KnobProps, KnobState> {
86
85
  static defaultProps: Partial<KnobProps>;
87
86
  constructor(props: KnobProps);
88
87
  keyboardHandler: (action: string, e: React.KeyboardEvent<HTMLInputElement>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Knob.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/knob/Knob.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,2BAA2B;QAC3B,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAA;KAClD,CAAA;IACD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAC1D;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACvD;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;IACpD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAClC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KACtC,IAAI,CAAA;CACV;AAED,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAGtC;gBAEW,KAAK,EAAE,SAAS;IAU5B,eAAe,WACL,MAAM,KACX,mBAAmB,CAAC,gBAAgB,CAAC,UAiCzC;IAED,YAAY,MAAO,gBAAgB,CAAC,cAAc,CAAC,UASlD;IAED,kBAAkB,UAAW,MAAM,GAAG,MAAM,YAK3C;IAGD,MAAM;CAqIP"}
1
+ {"version":3,"file":"Knob.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/knob/Knob.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,2BAA2B;QAC3B,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAA;KAClD,CAAA;IACD;;OAEG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAC3D;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IAC1D;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAA;IACvD;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAA;IACpD;;OAEG;IACH,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,CAAC,EACG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAClC,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,KACtC,IAAI,CAAA;CACV;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IACrE,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAGtC;gBAEW,KAAK,EAAE,SAAS;IAU5B,eAAe,GACb,QAAQ,MAAM,EACd,GAAG,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAiCzC;IAED,YAAY,GAAI,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,UASlD;IAED,kBAAkB,GAAI,OAAO,MAAM,GAAG,MAAM,YAK3C;IAGD,MAAM;CAqIP"}
@@ -1 +1 @@
1
- {"version":3,"file":"Knob.js","sources":["../../../../src/components/actions/knob/Knob.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport texts from '@styles/texts/texts.module.scss'\nimport Tooltip from '@components/tags/tooltip/Tooltip'\nimport Input from '@components/inputs/input/Input'\nimport './knob.scss'\n\nexport interface KnobProps {\n /**\n * Unique identifier for the knob\n */\n id: string\n /**\n * Short identifier for the knob\n */\n shortId: string\n /**\n * Current value of the knob\n */\n value: string | number\n /**\n * Offset position for the knob display\n */\n offset: number\n /**\n * Minimum allowed value\n */\n min?: string\n /**\n * Maximum allowed value\n */\n max?: string\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip display type */\n type: 'MULTI_LINE' | 'SINGLE_LINE' | 'WITH_IMAGE'\n }\n /**\n * Whether the value can be edited by typing\n */\n canBeTyped: boolean\n /**\n * Whether the knob is visible\n */\n isDisplayed: boolean\n /**\n * Whether the knob is blocked\n * @default false\n */\n isBlocked: boolean\n /**\n * Whether the knob is disabled\n * @default false\n */\n isDisabled: boolean\n /**\n * Custom inline styles\n */\n style?: React.CSSProperties\n /**\n * Handler for right arrow key\n */\n onShiftRight?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Handler for left arrow key\n */\n onShiftLeft?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Handler for delete key\n */\n onDelete?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Mouse down handler for dragging\n */\n onMouseDown: React.MouseEventHandler<HTMLDivElement>\n /**\n * Callback when value is validated\n */\n onValidStopValue?: (\n stopId: string,\n e:\n | React.FocusEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n ) => void\n}\n\nexport interface KnobStates {\n isStopInputOpen: boolean\n isTooltipOpen: boolean\n stopInputValue: string | number\n}\n\nexport default class Knob extends React.Component<KnobProps, KnobStates> {\n static defaultProps: Partial<KnobProps> = {\n isBlocked: false,\n isDisabled: false,\n }\n\n constructor(props: KnobProps) {\n super(props)\n this.state = {\n isStopInputOpen: false,\n isTooltipOpen: false,\n stopInputValue: props.value,\n }\n }\n\n // Handlers\n keyboardHandler = (\n action: string,\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n const { value, canBeTyped, onShiftRight, onShiftLeft, onDelete } =\n this.props\n\n const actions = {\n ArrowRight: () => {\n if (onShiftRight !== undefined) onShiftRight(e)\n },\n ArrowLeft: () => {\n if (onShiftLeft !== undefined) onShiftLeft(e)\n },\n Enter: () => {\n if (canBeTyped)\n this.setState({\n isStopInputOpen: true,\n isTooltipOpen: false,\n stopInputValue: value,\n })\n },\n Escape: () => {\n ;(e.target as HTMLElement).blur()\n this.setState({ isStopInputOpen: false })\n },\n Backspace: () => {\n if (onDelete !== undefined) onDelete(e)\n },\n }\n\n if (e.currentTarget === e.target)\n return actions[\n action as 'ArrowRight' | 'ArrowLeft' | 'Enter' | 'Escape' | 'Backspace'\n ]?.()\n }\n\n clickHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n const { canBeTyped, value } = this.props\n\n if (e.detail === 2 && canBeTyped)\n this.setState({\n isStopInputOpen: true,\n isTooltipOpen: false,\n stopInputValue: value,\n })\n }\n\n transformStopValue = (value: string | number) => {\n let newValue = value\n if (typeof newValue !== 'string') newValue = newValue.toFixed(1)\n if (newValue.includes('.0')) return (newValue = newValue.replace('.0', ''))\n return newValue\n }\n\n // Render\n render() {\n const {\n id,\n shortId,\n value,\n min,\n max,\n offset,\n helper,\n style,\n isDisplayed,\n isBlocked,\n isDisabled,\n onMouseDown,\n onValidStopValue,\n } = this.props\n const { isTooltipOpen, isStopInputOpen, stopInputValue } = this.state\n\n return (\n <div\n className={doClassnames([\n 'knob',\n isStopInputOpen && 'knob--editing',\n (isBlocked || isDisabled) && 'knob--disabled',\n ])}\n style={{\n left: `${offset}%`,\n zIndex: isTooltipOpen ? '2' : '1',\n ...style,\n }}\n data-id={id}\n data-value={value}\n role=\"slider\"\n aria-label={`${shortId} knob, value ${this.transformStopValue(value)}`}\n aria-valuemin={min ? parseFloat(min) : undefined}\n aria-valuemax={max ? parseFloat(max) : undefined}\n aria-valuenow={typeof value === 'number' ? value : parseFloat(value)}\n aria-valuetext={this.transformStopValue(value).toString()}\n aria-disabled={isDisabled || isBlocked}\n aria-readonly={isBlocked}\n tabIndex={!(isBlocked || isDisabled) ? 0 : -1}\n onKeyDown={(e) =>\n !(isBlocked || isDisabled)\n ? this.keyboardHandler(\n e.key,\n e as React.KeyboardEvent<HTMLInputElement>\n )\n : undefined\n }\n onMouseDown={!(isBlocked || isDisabled) ? onMouseDown : undefined}\n onMouseEnter={() =>\n !(isBlocked || isDisabled || isStopInputOpen)\n ? this.setState({ isTooltipOpen: true })\n : undefined\n }\n onMouseLeave={(e) => {\n const isFocused = document.activeElement === e.target\n if (isFocused && !(isBlocked || isDisabled))\n this.setState({ isTooltipOpen: true })\n else this.setState({ isTooltipOpen: false })\n }}\n onFocus={() =>\n !(isBlocked || isDisabled)\n ? this.setState({ isTooltipOpen: true })\n : undefined\n }\n onBlur={() =>\n !(isBlocked || isDisabled)\n ? this.setState({ isTooltipOpen: false })\n : undefined\n }\n onClick={(e) =>\n !(isBlocked || isDisabled) ? this.clickHandler(e) : undefined\n }\n >\n {(isDisplayed || isTooltipOpen) && (\n <div\n className={doClassnames(['knob__tooltip'])}\n role=\"status\"\n >\n <span\n className={doClassnames([texts.type, texts['type--inverse']])}\n >\n {this.transformStopValue(value)}\n </span>\n </div>\n )}\n {isStopInputOpen && (\n <div\n className=\"knob__input\"\n role=\"group\"\n >\n <Input\n type=\"NUMBER\"\n value={(stopInputValue as number).toFixed(1) ?? '0'}\n min={min}\n max={max}\n step=\"0.1\"\n feature=\"TYPE_STOP_VALUE\"\n shouldBlur={true}\n isAutoFocus={true}\n isFlex={true}\n onFocus={() =>\n this.setState({\n stopInputValue: value,\n })\n }\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n if ((e.target as HTMLInputElement)?.value !== value)\n onValidStopValue?.(shortId, e)\n this.setState({ isStopInputOpen: false })\n }}\n />\n </div>\n )}\n <div\n className={doClassnames(['knob__label'])}\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <span className={doClassnames([texts.type])}>{shortId}</span>\n </div>\n <div\n className=\"knob__graduation\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></div>\n {helper !== undefined && isTooltipOpen && (\n <Tooltip type={helper.type}>{helper.label}</Tooltip>\n )}\n </div>\n )\n }\n}\n"],"names":["Knob","React","props","action","value","canBeTyped","onShiftRight","onShiftLeft","onDelete","actions","e","newValue","id","shortId","min","max","offset","helper","style","isDisplayed","isBlocked","isDisabled","onMouseDown","onValidStopValue","isTooltipOpen","isStopInputOpen","stopInputValue","jsxs","doClassnames","jsx","texts","Input","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"Knob.js","sources":["../../../../src/components/actions/knob/Knob.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport texts from '@styles/texts/texts.module.scss'\nimport Tooltip from '@components/tags/tooltip/Tooltip'\nimport Input from '@components/inputs/input/Input'\nimport './knob.scss'\n\nexport interface KnobProps {\n /**\n * Unique identifier for the knob\n */\n id: string\n /**\n * Short identifier for the knob\n */\n shortId: string\n /**\n * Current value of the knob\n */\n value: string | number\n /**\n * Offset position for the knob display\n */\n offset: number\n /**\n * Minimum allowed value\n */\n min?: string\n /**\n * Maximum allowed value\n */\n max?: string\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip display type */\n type: 'MULTI_LINE' | 'SINGLE_LINE' | 'WITH_IMAGE'\n }\n /**\n * Whether the value can be edited by typing\n */\n canBeTyped: boolean\n /**\n * Whether the knob is visible\n */\n isDisplayed: boolean\n /**\n * Whether the knob is blocked\n * @default false\n */\n isBlocked: boolean\n /**\n * Whether the knob is disabled\n * @default false\n */\n isDisabled: boolean\n /**\n * Custom inline styles\n */\n style?: React.CSSProperties\n /**\n * Handler for right arrow key\n */\n onShiftRight?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Handler for left arrow key\n */\n onShiftLeft?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Handler for delete key\n */\n onDelete?: React.KeyboardEventHandler<HTMLInputElement>\n /**\n * Mouse down handler for dragging\n */\n onMouseDown: React.MouseEventHandler<HTMLDivElement>\n /**\n * Callback when value is validated\n */\n onValidStopValue?: (\n stopId: string,\n e:\n | React.FocusEvent<HTMLInputElement>\n | React.KeyboardEvent<HTMLInputElement>\n ) => void\n}\n\nexport interface KnobState {\n isStopInputOpen: boolean\n isTooltipOpen: boolean\n stopInputValue: string | number\n}\n\nexport default class Knob extends React.Component<KnobProps, KnobState> {\n static defaultProps: Partial<KnobProps> = {\n isBlocked: false,\n isDisabled: false,\n }\n\n constructor(props: KnobProps) {\n super(props)\n this.state = {\n isStopInputOpen: false,\n isTooltipOpen: false,\n stopInputValue: props.value,\n }\n }\n\n // Handlers\n keyboardHandler = (\n action: string,\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n const { value, canBeTyped, onShiftRight, onShiftLeft, onDelete } =\n this.props\n\n const actions = {\n ArrowRight: () => {\n if (onShiftRight !== undefined) onShiftRight(e)\n },\n ArrowLeft: () => {\n if (onShiftLeft !== undefined) onShiftLeft(e)\n },\n Enter: () => {\n if (canBeTyped)\n this.setState({\n isStopInputOpen: true,\n isTooltipOpen: false,\n stopInputValue: value,\n })\n },\n Escape: () => {\n ;(e.target as HTMLElement).blur()\n this.setState({ isStopInputOpen: false })\n },\n Backspace: () => {\n if (onDelete !== undefined) onDelete(e)\n },\n }\n\n if (e.currentTarget === e.target)\n return actions[\n action as 'ArrowRight' | 'ArrowLeft' | 'Enter' | 'Escape' | 'Backspace'\n ]?.()\n }\n\n clickHandler = (e: React.MouseEvent<HTMLDivElement>) => {\n const { canBeTyped, value } = this.props\n\n if (e.detail === 2 && canBeTyped)\n this.setState({\n isStopInputOpen: true,\n isTooltipOpen: false,\n stopInputValue: value,\n })\n }\n\n transformStopValue = (value: string | number) => {\n let newValue = value\n if (typeof newValue !== 'string') newValue = newValue.toFixed(1)\n if (newValue.includes('.0')) return (newValue = newValue.replace('.0', ''))\n return newValue\n }\n\n // Render\n render() {\n const {\n id,\n shortId,\n value,\n min,\n max,\n offset,\n helper,\n style,\n isDisplayed,\n isBlocked,\n isDisabled,\n onMouseDown,\n onValidStopValue,\n } = this.props\n const { isTooltipOpen, isStopInputOpen, stopInputValue } = this.state\n\n return (\n <div\n className={doClassnames([\n 'knob',\n isStopInputOpen && 'knob--editing',\n (isBlocked || isDisabled) && 'knob--disabled',\n ])}\n style={{\n left: `${offset}%`,\n zIndex: isTooltipOpen ? '2' : '1',\n ...style,\n }}\n data-id={id}\n data-value={value}\n role=\"slider\"\n aria-label={`${shortId} knob, value ${this.transformStopValue(value)}`}\n aria-valuemin={min ? parseFloat(min) : undefined}\n aria-valuemax={max ? parseFloat(max) : undefined}\n aria-valuenow={typeof value === 'number' ? value : parseFloat(value)}\n aria-valuetext={this.transformStopValue(value).toString()}\n aria-disabled={isDisabled || isBlocked}\n aria-readonly={isBlocked}\n tabIndex={!(isBlocked || isDisabled) ? 0 : -1}\n onKeyDown={(e) =>\n !(isBlocked || isDisabled)\n ? this.keyboardHandler(\n e.key,\n e as React.KeyboardEvent<HTMLInputElement>\n )\n : undefined\n }\n onMouseDown={!(isBlocked || isDisabled) ? onMouseDown : undefined}\n onMouseEnter={() =>\n !(isBlocked || isDisabled || isStopInputOpen)\n ? this.setState({ isTooltipOpen: true })\n : undefined\n }\n onMouseLeave={(e) => {\n const isFocused = document.activeElement === e.target\n if (isFocused && !(isBlocked || isDisabled))\n this.setState({ isTooltipOpen: true })\n else this.setState({ isTooltipOpen: false })\n }}\n onFocus={() =>\n !(isBlocked || isDisabled)\n ? this.setState({ isTooltipOpen: true })\n : undefined\n }\n onBlur={() =>\n !(isBlocked || isDisabled)\n ? this.setState({ isTooltipOpen: false })\n : undefined\n }\n onClick={(e) =>\n !(isBlocked || isDisabled) ? this.clickHandler(e) : undefined\n }\n >\n {(isDisplayed || isTooltipOpen) && (\n <div\n className={doClassnames(['knob__tooltip'])}\n role=\"status\"\n >\n <span\n className={doClassnames([texts.type, texts['type--inverse']])}\n >\n {this.transformStopValue(value)}\n </span>\n </div>\n )}\n {isStopInputOpen && (\n <div\n className=\"knob__input\"\n role=\"group\"\n >\n <Input\n type=\"NUMBER\"\n value={(stopInputValue as number).toFixed(1) ?? '0'}\n min={min}\n max={max}\n step=\"0.1\"\n feature=\"TYPE_STOP_VALUE\"\n shouldBlur={true}\n isAutoFocus={true}\n isFlex={true}\n onFocus={() =>\n this.setState({\n stopInputValue: value,\n })\n }\n onBlur={(e: React.FocusEvent<HTMLInputElement>) => {\n if ((e.target as HTMLInputElement)?.value !== value)\n onValidStopValue?.(shortId, e)\n this.setState({ isStopInputOpen: false })\n }}\n />\n </div>\n )}\n <div\n className={doClassnames(['knob__label'])}\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <span className={doClassnames([texts.type])}>{shortId}</span>\n </div>\n <div\n className=\"knob__graduation\"\n role=\"presentation\"\n aria-hidden=\"true\"\n ></div>\n {helper !== undefined && isTooltipOpen && (\n <Tooltip type={helper.type}>{helper.label}</Tooltip>\n )}\n </div>\n )\n }\n}\n"],"names":["Knob","React","props","action","value","canBeTyped","onShiftRight","onShiftLeft","onDelete","actions","e","newValue","id","shortId","min","max","offset","helper","style","isDisplayed","isBlocked","isDisabled","onMouseDown","onValidStopValue","isTooltipOpen","isStopInputOpen","stopInputValue","jsxs","doClassnames","jsx","texts","Input","Tooltip"],"mappings":";;;;;;AAgGA,MAAqBA,UAAaC,EAAM,UAAgC;AAAA,EACtE,OAAO,eAAmC;AAAA,IACxC,WAAW;AAAA,IACX,YAAY;AAAA,EAAA;AAAA,EAGd,YAAYC,GAAkB;AAC5B,UAAMA,CAAK,GACX,KAAK,QAAQ;AAAA,MACX,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,gBAAgBA,EAAM;AAAA,IAAA;AAAA,EAE1B;AAAA;AAAA,EAGA,kBAAkB,CAChBC,GACA,MACG;AACH,UAAM,EAAE,OAAAC,GAAO,YAAAC,GAAY,cAAAC,GAAc,aAAAC,GAAa,UAAAC,EAAA,IACpD,KAAK,OAEDC,IAAU;AAAA,MACd,YAAY,MAAM;AAChB,QAAIH,MAAiB,UAAWA,EAAa,CAAC;AAAA,MAChD;AAAA,MACA,WAAW,MAAM;AACf,QAAIC,MAAgB,UAAWA,EAAY,CAAC;AAAA,MAC9C;AAAA,MACA,OAAO,MAAM;AACX,QAAIF,KACF,KAAK,SAAS;AAAA,UACZ,iBAAiB;AAAA,UACjB,eAAe;AAAA,UACf,gBAAgBD;AAAA,QAAA,CACjB;AAAA,MACL;AAAA,MACA,QAAQ,MAAM;AACV,UAAE,OAAuB,KAAA,GAC3B,KAAK,SAAS,EAAE,iBAAiB,GAAA,CAAO;AAAA,MAC1C;AAAA,MACA,WAAW,MAAM;AACf,QAAII,MAAa,UAAWA,EAAS,CAAC;AAAA,MACxC;AAAA,IAAA;AAGF,QAAI,EAAE,kBAAkB,EAAE;AACxB,aAAOC,EACLN,CACF,IAAA;AAAA,EACJ;AAAA,EAEA,eAAe,CAACO,MAAwC;AACtD,UAAM,EAAE,YAAAL,GAAY,OAAAD,EAAA,IAAU,KAAK;AAEnC,IAAIM,EAAE,WAAW,KAAKL,KACpB,KAAK,SAAS;AAAA,MACZ,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,gBAAgBD;AAAA,IAAA,CACjB;AAAA,EACL;AAAA,EAEA,qBAAqB,CAACA,MAA2B;AAC/C,QAAIO,IAAWP;AAEf,WADI,OAAOO,KAAa,aAAUA,IAAWA,EAAS,QAAQ,CAAC,IAC3DA,EAAS,SAAS,IAAI,IAAWA,IAAWA,EAAS,QAAQ,MAAM,EAAE,IAClEA;AAAA,EACT;AAAA;AAAA,EAGA,SAAS;AACP,UAAM;AAAA,MACJ,IAAAC;AAAA,MACA,SAAAC;AAAA,MACA,OAAAT;AAAA,MACA,KAAAU;AAAA,MACA,KAAAC;AAAA,MACA,QAAAC;AAAA,MACA,QAAAC;AAAA,MACA,OAAAC;AAAA,MACA,aAAAC;AAAA,MACA,WAAAC;AAAA,MACA,YAAAC;AAAA,MACA,aAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,IACE,KAAK,OACH,EAAE,eAAAC,GAAe,iBAAAC,GAAiB,gBAAAC,EAAA,IAAmB,KAAK;AAEhE,WACE,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAa;AAAA,UACtB;AAAA,UACAH,KAAmB;AAAA,WAClBL,KAAaC,MAAe;AAAA,QAAA,CAC9B;AAAA,QACD,OAAO;AAAA,UACL,MAAM,GAAGL,CAAM;AAAA,UACf,QAAQQ,IAAgB,MAAM;AAAA,UAC9B,GAAGN;AAAA,QAAA;AAAA,QAEL,WAASN;AAAA,QACT,cAAYR;AAAA,QACZ,MAAK;AAAA,QACL,cAAY,GAAGS,CAAO,gBAAgB,KAAK,mBAAmBT,CAAK,CAAC;AAAA,QACpE,iBAAeU,IAAM,WAAWA,CAAG,IAAI;AAAA,QACvC,iBAAeC,IAAM,WAAWA,CAAG,IAAI;AAAA,QACvC,iBAAe,OAAOX,KAAU,WAAWA,IAAQ,WAAWA,CAAK;AAAA,QACnE,kBAAgB,KAAK,mBAAmBA,CAAK,EAAE,SAAA;AAAA,QAC/C,iBAAeiB,KAAcD;AAAA,QAC7B,iBAAeA;AAAA,QACf,UAAYA,KAAaC,IAAkB,KAAJ;AAAA,QACvC,WAAW,CAACX,MACRU,KAAaC,IAKX,SAJA,KAAK;AAAA,UACHX,EAAE;AAAA,UACFA;AAAA,QAAA;AAAA,QAIR,aAAeU,KAAaC,IAA4B,SAAdC;AAAA,QAC1C,cAAc,MACVF,KAAaC,KAAcI,IAEzB,SADA,KAAK,SAAS,EAAE,eAAe,GAAA,CAAM;AAAA,QAG3C,cAAc,CAACf,MAAM;AAEnB,UADkB,SAAS,kBAAkBA,EAAE,UAC9B,EAAEU,KAAaC,KAC9B,KAAK,SAAS,EAAE,eAAe,GAAA,CAAM,IAClC,KAAK,SAAS,EAAE,eAAe,IAAO;AAAA,QAC7C;AAAA,QACA,SAAS,MACLD,KAAaC,IAEX,SADA,KAAK,SAAS,EAAE,eAAe,GAAA,CAAM;AAAA,QAG3C,QAAQ,MACJD,KAAaC,IAEX,SADA,KAAK,SAAS,EAAE,eAAe,GAAA,CAAO;AAAA,QAG5C,SAAS,CAACX,MACNU,KAAaC,IAAqC,SAAvB,KAAK,aAAaX,CAAC;AAAA,QAGhD,UAAA;AAAA,WAAAS,KAAeK,MACf,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD,EAAa,CAAC,eAAe,CAAC;AAAA,cACzC,MAAK;AAAA,cAEL,UAAA,gBAAAC;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWD,EAAa,CAACE,EAAM,MAAMA,EAAM,eAAe,CAAC,CAAC;AAAA,kBAE3D,UAAA,KAAK,mBAAmB1B,CAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,YAChC;AAAA,UAAA;AAAA,UAGHqB,KACC,gBAAAI;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAK;AAAA,cAEL,UAAA,gBAAAA;AAAA,gBAACE;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,OAAQL,EAA0B,QAAQ,CAAC,KAAK;AAAA,kBAChD,KAAAZ;AAAA,kBACA,KAAAC;AAAA,kBACA,MAAK;AAAA,kBACL,SAAQ;AAAA,kBACR,YAAY;AAAA,kBACZ,aAAa;AAAA,kBACb,QAAQ;AAAA,kBACR,SAAS,MACP,KAAK,SAAS;AAAA,oBACZ,gBAAgBX;AAAA,kBAAA,CACjB;AAAA,kBAEH,QAAQ,CAACM,MAA0C;AACjD,oBAAKA,EAAE,QAA6B,UAAUN,KAC5CmB,IAAmBV,GAASH,CAAC,GAC/B,KAAK,SAAS,EAAE,iBAAiB,GAAA,CAAO;AAAA,kBAC1C;AAAA,gBAAA;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,UAGJ,gBAAAmB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD,EAAa,CAAC,aAAa,CAAC;AAAA,cACvC,MAAK;AAAA,cACL,eAAY;AAAA,cAEZ,UAAA,gBAAAC,EAAC,UAAK,WAAWD,EAAa,CAACE,EAAM,IAAI,CAAC,GAAI,UAAAjB,EAAA,CAAQ;AAAA,YAAA;AAAA,UAAA;AAAA,UAExD,gBAAAgB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAU;AAAA,cACV,MAAK;AAAA,cACL,eAAY;AAAA,YAAA;AAAA,UAAA;AAAA,UAEbZ,MAAW,UAAaO,KACvB,gBAAAK,EAACG,KAAQ,MAAMf,EAAO,MAAO,UAAAA,EAAO,MAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIlD;AACF;"}
@@ -2,7 +2,6 @@ import { default as React } from 'react';
2
2
  import { DropdownOption } from '../../../types/list.types';
3
3
  import { IconList } from '../../../types/icon.types';
4
4
  import { default as Button } from '../button/Button';
5
-
6
5
  export interface MenuProps {
7
6
  /**
8
7
  * Unique identifier for the menu
@@ -81,12 +80,12 @@ export interface MenuProps {
81
80
  */
82
81
  isNew?: boolean;
83
82
  }
84
- export interface MenuStates {
83
+ export interface MenuState {
85
84
  isMenuOpen: boolean;
86
85
  isMenuVisible: boolean;
87
86
  alignment: 'TOP_RIGHT' | 'TOP_LEFT' | 'BOTTOM_RIGHT' | 'BOTTOM_LEFT';
88
87
  }
89
- export default class Menu extends React.Component<MenuProps, MenuStates> {
88
+ export default class Menu extends React.Component<MenuProps, MenuState> {
90
89
  private selectMenuRef;
91
90
  buttonRef: React.RefObject<Button>;
92
91
  private listRef;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,MAAM,MAAM,kBAAkB,CAAA;AACrC,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC/B;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;IACrE;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,uBAAuB;QACvB,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;QACtB,yCAAyC;QACzC,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;IACD;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,uBAAuB;QACvB,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;QACtB,2BAA2B;QAC3B,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;KACpC,CAAA;IACD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;CACrE;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IACtE,OAAO,CAAC,aAAa,CAAiC;IACtD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,UAAU,CAAmC;IAErD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAOtC;gBAEW,KAAK,EAAE,SAAS;IAgB5B,iBAAiB,aACgD;IAEjE,oBAAoB,aAEnB;IAGD,kBAAkB,MAAO,KAAK,UAqB7B;IAED,UAAU,MACL,gBAAgB,CAAC,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,UA+F5D;IAED,MAAM;CA8IP"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../src/components/actions/menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,MAAM,MAAM,kBAAkB,CAAA;AACrC,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IACV;;;OAGG;IACH,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAA;IACf;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IAC/B;;;OAGG;IACH,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAA;IAC1C;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;IACrE;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,uBAAuB;QACvB,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;QACtB,yCAAyC;QACzC,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;IACD;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,sBAAsB;QACtB,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;QAC/B,uBAAuB;QACvB,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;QACtB,2BAA2B;QAC3B,IAAI,CAAC,EAAE,YAAY,GAAG,aAAa,CAAA;KACpC,CAAA;IACD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;IACtB,SAAS,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,CAAA;CACrE;AAED,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC;IACrE,OAAO,CAAC,aAAa,CAAiC;IACtD,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,OAAO,CAAmC;IAClD,OAAO,CAAC,UAAU,CAAmC;IAErD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAOtC;gBAEW,KAAK,EAAE,SAAS;IAgB5B,iBAAiB,aACgD;IAEjE,oBAAoB,aAEnB;IAGD,kBAAkB,GAAI,GAAG,KAAK,UAqB7B;IAED,UAAU,GACR,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,UA+F5D;IAED,MAAM;CA8IP"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../../../src/components/actions/menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport ActionsList from '@components/lists/actions-list/ActionsList'\nimport type { DropdownOption } from '@tps/list.types'\nimport type { IconList } from '@tps/icon.types'\nimport Button from '../button/Button'\nimport './menu.scss'\n\nexport interface MenuProps {\n /**\n * Unique identifier for the menu\n */\n id: string\n /**\n * Visual type of the menu button\n * @default 'ICON'\n */\n type: 'ICON' | 'PRIMARY'\n /**\n * Text label for the menu button\n */\n label?: string\n /**\n * Icon name to display in the button\n */\n icon?: IconList\n /**\n * Custom icon element\n */\n customIcon?: React.ReactElement\n /**\n * List of menu options\n * @default []\n */\n options: Array<DropdownOption>\n /**\n * ID of the currently selected option\n */\n selected?: string\n /**\n * ID of the container element for portal rendering\n */\n containerId?: string\n /**\n * State of the menu button\n * @default 'DEFAULT'\n */\n state?: 'DEFAULT' | 'DISABLED' | 'LOADING'\n /**\n * Position of the menu relative to the button\n * @default 'BOTTOM_LEFT'\n */\n alignment?: 'TOP_RIGHT' | 'TOP_LEFT' | 'BOTTOM_RIGHT' | 'BOTTOM_LEFT'\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip position */\n pin?: 'TOP' | 'BOTTOM'\n /** Whether to use single line display */\n isSingleLine?: boolean\n }\n /**\n * Warning tooltip configuration\n */\n warning?: {\n /** Warning message */\n label: string | React.ReactNode\n /** Warning position */\n pin?: 'TOP' | 'BOTTOM'\n /** Warning display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Whether the menu is blocked\n * @default false\n */\n isBlocked?: boolean\n /**\n * Whether to show a \"New\" badge\n * @default false\n */\n isNew?: boolean\n}\n\nexport interface MenuStates {\n isMenuOpen: boolean\n isMenuVisible: boolean\n alignment: 'TOP_RIGHT' | 'TOP_LEFT' | 'BOTTOM_RIGHT' | 'BOTTOM_LEFT'\n}\n\nexport default class Menu extends React.Component<MenuProps, MenuStates> {\n private selectMenuRef: React.RefObject<HTMLDivElement>\n buttonRef: React.RefObject<Button>\n private listRef: React.RefObject<HTMLDivElement>\n private actionsListRef: React.RefObject<ActionsList>\n private menuRef: React.RefObject<HTMLUListElement>\n private subMenuRef: React.RefObject<HTMLUListElement>\n\n static defaultProps: Partial<MenuProps> = {\n type: 'ICON',\n options: [],\n state: 'DEFAULT',\n alignment: 'BOTTOM_LEFT',\n isBlocked: false,\n isNew: false,\n }\n\n constructor(props: MenuProps) {\n super(props)\n this.state = {\n isMenuOpen: false,\n isMenuVisible: false,\n alignment: props.alignment ?? 'BOTTOM_LEFT',\n }\n this.selectMenuRef = React.createRef()\n this.buttonRef = React.createRef()\n this.listRef = React.createRef()\n this.actionsListRef = React.createRef()\n this.menuRef = React.createRef()\n this.subMenuRef = React.createRef()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n componentDidMount = () =>\n document.addEventListener('mousedown', this.handleClickOutside)\n\n componentWillUnmount = () => {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n // Direct Actions\n handleClickOutside = (e: Event) => {\n const target = e.target as HTMLElement\n const { isMenuOpen } = this.state\n\n if (\n (this.buttonRef.current?.buttonRef.current?.contains(target) &&\n isMenuOpen) ||\n target === this.menuRef.current ||\n target === this.subMenuRef.current ||\n (target.tagName === 'HR' && this.menuRef.current?.contains(target)) ||\n (target.dataset.role === 'GROUP' &&\n this.menuRef.current?.contains(target))\n )\n this.setState({\n isMenuOpen: true,\n })\n else\n this.setState({\n isMenuOpen: false,\n isMenuVisible: false,\n })\n }\n\n onOpenMenu = (\n e: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => {\n const { containerId, alignment } = this.props\n const { isMenuOpen } = this.state\n\n this.setState({\n isMenuOpen: !isMenuOpen,\n })\n\n setTimeout(() => {\n if (this.listRef.current != null) {\n const menuRect = this.listRef.current.getBoundingClientRect()\n const buttonRect =\n this.buttonRef.current?.buttonRef.current?.getBoundingClientRect()\n\n let adjustedTop = 0\n let adjustedLeft = 0\n let shouldTransformY = false\n let shouldTransformX = false\n\n if (menuRect.bottom > window.innerHeight) {\n adjustedTop = window.innerHeight - menuRect.height - 8\n shouldTransformY = true\n }\n if (menuRect.top < 0) {\n adjustedTop = 8\n shouldTransformY = true\n }\n\n if (menuRect.right > window.innerWidth) {\n adjustedLeft = window.innerWidth - menuRect.width - 8\n shouldTransformX = true\n }\n if (menuRect.left < 0) {\n adjustedLeft = 8\n shouldTransformX = true\n }\n\n if (shouldTransformY) {\n const isTopAlignment = alignment?.includes('TOP')\n const baseTransform = isTopAlignment ? 'translateY(-100%)' : 'none'\n\n if (buttonRect) {\n const originalTop = isTopAlignment ? -menuRect.height : 0\n const adjustment = adjustedTop - buttonRect.top - originalTop\n this.listRef.current.style.top = `${adjustment}px`\n }\n\n this.listRef.current.style.transform = shouldTransformX\n ? `${baseTransform !== 'none' ? baseTransform + ' ' : ''}translateX(${adjustedLeft - menuRect.left}px)`\n : baseTransform\n }\n\n if (shouldTransformX && !shouldTransformY) {\n const isTopAlignment = alignment?.includes('TOP')\n const baseTransform = isTopAlignment ? 'translateY(-100%)' : 'none'\n\n this.listRef.current.style.transform =\n baseTransform === 'none'\n ? `translateX(${adjustedLeft - menuRect.left}px)`\n : `${baseTransform} translateX(${adjustedLeft - menuRect.left}px)`\n }\n\n if (containerId !== undefined) {\n const containerElement = document.getElementById(containerId)\n if (containerElement) {\n const container = containerElement.getBoundingClientRect()\n const button =\n this.buttonRef.current?.buttonRef.current?.getBoundingClientRect()\n\n const diffTop =\n this.listRef.current.getBoundingClientRect().top - container.top\n const diffBottom =\n this.listRef.current.getBoundingClientRect().bottom -\n container.bottom\n\n if (diffTop < -16 && button)\n this.listRef.current.style.top = `${container.top - button.top + 16}px`\n\n if (diffBottom > -16 && button)\n this.listRef.current.style.bottom = `${\n button.bottom - container.bottom + 16\n }px`\n\n this.listRef.current.style.visibility = 'visible'\n }\n }\n\n // Rendre le menu visible après positionnement\n this.setState({ isMenuVisible: true })\n }\n }, 0)\n\n if (e.type === 'keydown')\n setTimeout(() => this.actionsListRef.current?.focusFirstMenuItem(), 0)\n }\n\n render() {\n const {\n id,\n type,\n label,\n state,\n icon,\n helper,\n warning,\n customIcon,\n options,\n selected,\n alignment,\n isBlocked,\n isNew,\n containerId,\n } = this.props\n const { isMenuOpen } = this.state\n\n const flattenOptions = (options: DropdownOption[]): DropdownOption[] => {\n const flat: DropdownOption[] = []\n options.forEach((option) => {\n flat.push(option)\n if (Array.isArray(option.children) && option.children.length > 0)\n flat.push(...flattenOptions(option.children))\n })\n return flat\n }\n\n const activeOptions = flattenOptions(options).filter(\n (option) => option.isActive !== false\n )\n\n if (activeOptions.length === 0) return null\n if (activeOptions.length === 1 && activeOptions[0].children === undefined) {\n const option = activeOptions[0]\n return (\n <Button\n type={type === 'ICON' ? 'secondary' : 'primary'}\n label={option.label}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isBlocked={option.isBlocked}\n isNew={option.isNew}\n action={\n !(state === 'DISABLED' || isBlocked)\n ? (e: React.MouseEvent<Element> | React.KeyboardEvent<Element>) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n option.action?.(e as any)\n : undefined\n }\n />\n )\n }\n\n return (\n <div\n id={id}\n className={doClassnames([\n 'menu',\n 'recharged',\n `menu--${alignment?.toLocaleLowerCase().replace('_', '-')}`,\n ])}\n ref={this.selectMenuRef}\n >\n {type === 'ICON' ? (\n <Button\n type=\"icon\"\n icon={icon === undefined ? undefined : icon}\n customIcon={customIcon === undefined ? undefined : customIcon}\n state={isMenuOpen ? 'selected' : undefined}\n helper={helper === undefined ? undefined : helper}\n warning={warning === undefined ? undefined : warning}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isNew={isNew}\n ref={this.buttonRef}\n action={(e) =>\n !(state === 'DISABLED' || isBlocked)\n ? this.onOpenMenu(e)\n : undefined\n }\n aria-label={label}\n aria-haspopup=\"true\"\n aria-controls={`menu-${id}`}\n aria-expanded={isMenuOpen}\n />\n ) : (\n <Button\n type=\"primary\"\n label={label}\n hasMultipleActions\n helper={helper === undefined ? undefined : helper}\n warning={warning === undefined ? undefined : warning}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isNew={isNew}\n ref={this.buttonRef}\n action={(e) =>\n !(state === 'DISABLED' || isBlocked)\n ? this.onOpenMenu(e)\n : undefined\n }\n aria-label={label}\n aria-haspopup=\"true\"\n aria-controls={`menu-${id}`}\n aria-expanded={isMenuOpen}\n />\n )}\n {(() => {\n if (isMenuOpen)\n return (\n <div\n id={`menu-${id}`}\n className=\"floating-menu\"\n style={{\n position: 'absolute',\n zIndex: 99,\n visibility:\n containerId === undefined && this.state.isMenuVisible\n ? 'visible'\n : 'hidden',\n }}\n ref={this.listRef}\n >\n <ActionsList\n options={options}\n selected={selected}\n direction={alignment?.includes('LEFT') ? 'RIGHT' : 'LEFT'}\n containerId={containerId}\n onCancellation={() => this.setState({ isMenuOpen: false })}\n ref={this.actionsListRef}\n menuRef={this.menuRef}\n subMenuRef={this.subMenuRef}\n />\n </div>\n )\n return null\n })()}\n </div>\n )\n }\n}\n"],"names":["Menu","React","props","e","target","isMenuOpen","containerId","alignment","menuRect","buttonRect","adjustedTop","adjustedLeft","shouldTransformY","shouldTransformX","isTopAlignment","baseTransform","originalTop","adjustment","containerElement","container","button","diffTop","diffBottom","id","type","label","state","icon","helper","warning","customIcon","options","selected","isBlocked","isNew","flattenOptions","flat","option","activeOptions","jsx","Button","jsxs","doClassnames","ActionsList"],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sources":["../../../../src/components/actions/menu/Menu.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport ActionsList from '@components/lists/actions-list/ActionsList'\nimport type { DropdownOption } from '@tps/list.types'\nimport type { IconList } from '@tps/icon.types'\nimport Button from '../button/Button'\nimport './menu.scss'\n\nexport interface MenuProps {\n /**\n * Unique identifier for the menu\n */\n id: string\n /**\n * Visual type of the menu button\n * @default 'ICON'\n */\n type: 'ICON' | 'PRIMARY'\n /**\n * Text label for the menu button\n */\n label?: string\n /**\n * Icon name to display in the button\n */\n icon?: IconList\n /**\n * Custom icon element\n */\n customIcon?: React.ReactElement\n /**\n * List of menu options\n * @default []\n */\n options: Array<DropdownOption>\n /**\n * ID of the currently selected option\n */\n selected?: string\n /**\n * ID of the container element for portal rendering\n */\n containerId?: string\n /**\n * State of the menu button\n * @default 'DEFAULT'\n */\n state?: 'DEFAULT' | 'DISABLED' | 'LOADING'\n /**\n * Position of the menu relative to the button\n * @default 'BOTTOM_LEFT'\n */\n alignment?: 'TOP_RIGHT' | 'TOP_LEFT' | 'BOTTOM_RIGHT' | 'BOTTOM_LEFT'\n /**\n * Helper tooltip configuration\n */\n helper?: {\n /** Tooltip content */\n label: string | React.ReactNode\n /** Tooltip position */\n pin?: 'TOP' | 'BOTTOM'\n /** Whether to use single line display */\n isSingleLine?: boolean\n }\n /**\n * Warning tooltip configuration\n */\n warning?: {\n /** Warning message */\n label: string | React.ReactNode\n /** Warning position */\n pin?: 'TOP' | 'BOTTOM'\n /** Warning display type */\n type?: 'MULTI_LINE' | 'SINGLE_LINE'\n }\n /**\n * Whether the menu is blocked\n * @default false\n */\n isBlocked?: boolean\n /**\n * Whether to show a \"New\" badge\n * @default false\n */\n isNew?: boolean\n}\n\nexport interface MenuState {\n isMenuOpen: boolean\n isMenuVisible: boolean\n alignment: 'TOP_RIGHT' | 'TOP_LEFT' | 'BOTTOM_RIGHT' | 'BOTTOM_LEFT'\n}\n\nexport default class Menu extends React.Component<MenuProps, MenuState> {\n private selectMenuRef: React.RefObject<HTMLDivElement>\n buttonRef: React.RefObject<Button>\n private listRef: React.RefObject<HTMLDivElement>\n private actionsListRef: React.RefObject<ActionsList>\n private menuRef: React.RefObject<HTMLUListElement>\n private subMenuRef: React.RefObject<HTMLUListElement>\n\n static defaultProps: Partial<MenuProps> = {\n type: 'ICON',\n options: [],\n state: 'DEFAULT',\n alignment: 'BOTTOM_LEFT',\n isBlocked: false,\n isNew: false,\n }\n\n constructor(props: MenuProps) {\n super(props)\n this.state = {\n isMenuOpen: false,\n isMenuVisible: false,\n alignment: props.alignment ?? 'BOTTOM_LEFT',\n }\n this.selectMenuRef = React.createRef()\n this.buttonRef = React.createRef()\n this.listRef = React.createRef()\n this.actionsListRef = React.createRef()\n this.menuRef = React.createRef()\n this.subMenuRef = React.createRef()\n this.handleClickOutside = this.handleClickOutside.bind(this)\n }\n\n componentDidMount = () =>\n document.addEventListener('mousedown', this.handleClickOutside)\n\n componentWillUnmount = () => {\n document.removeEventListener('mousedown', this.handleClickOutside)\n }\n\n // Direct Actions\n handleClickOutside = (e: Event) => {\n const target = e.target as HTMLElement\n const { isMenuOpen } = this.state\n\n if (\n (this.buttonRef.current?.buttonRef.current?.contains(target) &&\n isMenuOpen) ||\n target === this.menuRef.current ||\n target === this.subMenuRef.current ||\n (target.tagName === 'HR' && this.menuRef.current?.contains(target)) ||\n (target.dataset.role === 'GROUP' &&\n this.menuRef.current?.contains(target))\n )\n this.setState({\n isMenuOpen: true,\n })\n else\n this.setState({\n isMenuOpen: false,\n isMenuVisible: false,\n })\n }\n\n onOpenMenu = (\n e: React.MouseEvent<Element> | React.KeyboardEvent<Element>\n ) => {\n const { containerId, alignment } = this.props\n const { isMenuOpen } = this.state\n\n this.setState({\n isMenuOpen: !isMenuOpen,\n })\n\n setTimeout(() => {\n if (this.listRef.current != null) {\n const menuRect = this.listRef.current.getBoundingClientRect()\n const buttonRect =\n this.buttonRef.current?.buttonRef.current?.getBoundingClientRect()\n\n let adjustedTop = 0\n let adjustedLeft = 0\n let shouldTransformY = false\n let shouldTransformX = false\n\n if (menuRect.bottom > window.innerHeight) {\n adjustedTop = window.innerHeight - menuRect.height - 8\n shouldTransformY = true\n }\n if (menuRect.top < 0) {\n adjustedTop = 8\n shouldTransformY = true\n }\n\n if (menuRect.right > window.innerWidth) {\n adjustedLeft = window.innerWidth - menuRect.width - 8\n shouldTransformX = true\n }\n if (menuRect.left < 0) {\n adjustedLeft = 8\n shouldTransformX = true\n }\n\n if (shouldTransformY) {\n const isTopAlignment = alignment?.includes('TOP')\n const baseTransform = isTopAlignment ? 'translateY(-100%)' : 'none'\n\n if (buttonRect) {\n const originalTop = isTopAlignment ? -menuRect.height : 0\n const adjustment = adjustedTop - buttonRect.top - originalTop\n this.listRef.current.style.top = `${adjustment}px`\n }\n\n this.listRef.current.style.transform = shouldTransformX\n ? `${baseTransform !== 'none' ? baseTransform + ' ' : ''}translateX(${adjustedLeft - menuRect.left}px)`\n : baseTransform\n }\n\n if (shouldTransformX && !shouldTransformY) {\n const isTopAlignment = alignment?.includes('TOP')\n const baseTransform = isTopAlignment ? 'translateY(-100%)' : 'none'\n\n this.listRef.current.style.transform =\n baseTransform === 'none'\n ? `translateX(${adjustedLeft - menuRect.left}px)`\n : `${baseTransform} translateX(${adjustedLeft - menuRect.left}px)`\n }\n\n if (containerId !== undefined) {\n const containerElement = document.getElementById(containerId)\n if (containerElement) {\n const container = containerElement.getBoundingClientRect()\n const button =\n this.buttonRef.current?.buttonRef.current?.getBoundingClientRect()\n\n const diffTop =\n this.listRef.current.getBoundingClientRect().top - container.top\n const diffBottom =\n this.listRef.current.getBoundingClientRect().bottom -\n container.bottom\n\n if (diffTop < -16 && button)\n this.listRef.current.style.top = `${container.top - button.top + 16}px`\n\n if (diffBottom > -16 && button)\n this.listRef.current.style.bottom = `${\n button.bottom - container.bottom + 16\n }px`\n\n this.listRef.current.style.visibility = 'visible'\n }\n }\n\n // Rendre le menu visible après positionnement\n this.setState({ isMenuVisible: true })\n }\n }, 0)\n\n if (e.type === 'keydown')\n setTimeout(() => this.actionsListRef.current?.focusFirstMenuItem(), 0)\n }\n\n render() {\n const {\n id,\n type,\n label,\n state,\n icon,\n helper,\n warning,\n customIcon,\n options,\n selected,\n alignment,\n isBlocked,\n isNew,\n containerId,\n } = this.props\n const { isMenuOpen } = this.state\n\n const flattenOptions = (options: DropdownOption[]): DropdownOption[] => {\n const flat: DropdownOption[] = []\n options.forEach((option) => {\n flat.push(option)\n if (Array.isArray(option.children) && option.children.length > 0)\n flat.push(...flattenOptions(option.children))\n })\n return flat\n }\n\n const activeOptions = flattenOptions(options).filter(\n (option) => option.isActive !== false\n )\n\n if (activeOptions.length === 0) return null\n if (activeOptions.length === 1 && activeOptions[0].children === undefined) {\n const option = activeOptions[0]\n return (\n <Button\n type={type === 'ICON' ? 'secondary' : 'primary'}\n label={option.label}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isBlocked={option.isBlocked}\n isNew={option.isNew}\n action={\n !(state === 'DISABLED' || isBlocked)\n ? (e: React.MouseEvent<Element> | React.KeyboardEvent<Element>) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n option.action?.(e as any)\n : undefined\n }\n />\n )\n }\n\n return (\n <div\n id={id}\n className={doClassnames([\n 'menu',\n 'recharged',\n `menu--${alignment?.toLocaleLowerCase().replace('_', '-')}`,\n ])}\n ref={this.selectMenuRef}\n >\n {type === 'ICON' ? (\n <Button\n type=\"icon\"\n icon={icon === undefined ? undefined : icon}\n customIcon={customIcon === undefined ? undefined : customIcon}\n state={isMenuOpen ? 'selected' : undefined}\n helper={helper === undefined ? undefined : helper}\n warning={warning === undefined ? undefined : warning}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isNew={isNew}\n ref={this.buttonRef}\n action={(e) =>\n !(state === 'DISABLED' || isBlocked)\n ? this.onOpenMenu(e)\n : undefined\n }\n aria-label={label}\n aria-haspopup=\"true\"\n aria-controls={`menu-${id}`}\n aria-expanded={isMenuOpen}\n />\n ) : (\n <Button\n type=\"primary\"\n label={label}\n hasMultipleActions\n helper={helper === undefined ? undefined : helper}\n warning={warning === undefined ? undefined : warning}\n isLoading={state === 'LOADING'}\n isDisabled={state === 'DISABLED' || isBlocked}\n isNew={isNew}\n ref={this.buttonRef}\n action={(e) =>\n !(state === 'DISABLED' || isBlocked)\n ? this.onOpenMenu(e)\n : undefined\n }\n aria-label={label}\n aria-haspopup=\"true\"\n aria-controls={`menu-${id}`}\n aria-expanded={isMenuOpen}\n />\n )}\n {(() => {\n if (isMenuOpen)\n return (\n <div\n id={`menu-${id}`}\n className=\"floating-menu\"\n style={{\n position: 'absolute',\n zIndex: 99,\n visibility:\n containerId === undefined && this.state.isMenuVisible\n ? 'visible'\n : 'hidden',\n }}\n ref={this.listRef}\n >\n <ActionsList\n options={options}\n selected={selected}\n direction={alignment?.includes('LEFT') ? 'RIGHT' : 'LEFT'}\n containerId={containerId}\n onCancellation={() => this.setState({ isMenuOpen: false })}\n ref={this.actionsListRef}\n menuRef={this.menuRef}\n subMenuRef={this.subMenuRef}\n />\n </div>\n )\n return null\n })()}\n </div>\n )\n }\n}\n"],"names":["Menu","React","props","e","target","isMenuOpen","containerId","alignment","menuRect","buttonRect","adjustedTop","adjustedLeft","shouldTransformY","shouldTransformX","isTopAlignment","baseTransform","originalTop","adjustment","containerElement","container","button","diffTop","diffBottom","id","type","label","state","icon","helper","warning","customIcon","options","selected","isBlocked","isNew","flattenOptions","flat","option","activeOptions","jsx","Button","jsxs","doClassnames","ActionsList"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
-
2
1
  export interface AvatarProps {
3
2
  /**
4
3
  * URL of the avatar image
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/avatar/Avatar.tsx"],"names":[],"mappings":";AAEA,OAAO,eAAe,CAAA;AAEtB,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,QAAA,MAAM,MAAM,UAAW,WAAW,4CAyCjC,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/avatar/Avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,eAAe,CAAA;AAEtB,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACnC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,QAAA,MAAM,MAAM,GAAI,OAAO,WAAW,4CAyCjC,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1,5 +1,4 @@
1
1
  import { IconList } from '../../../types/icon.types';
2
-
3
2
  export interface IconProps {
4
3
  /**
5
4
  * Type of icon to display
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/icon/Icon.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,IAAI,UAAW,SAAS,4CAmCpC,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/icon/Icon.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,aAAa,CAAA;AAEpB,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,4CAmCpC,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -1,4 +1,3 @@
1
-
2
1
  export type SectionTitleProps = {
3
2
  /**
4
3
  * Text label of the section title
@@ -1 +1 @@
1
- {"version":3,"file":"SectionTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/section-title/SectionTitle.tsx"],"names":[],"mappings":";AAGA,OAAO,sBAAsB,CAAA;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IACjC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,QAAA,MAAM,YAAY,UAAW,iBAAiB,4CA8B7C,CAAA;AACD,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"SectionTitle.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/section-title/SectionTitle.tsx"],"names":[],"mappings":"AAGA,OAAO,sBAAsB,CAAA;AAE7B,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;IACjC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,QAAA,MAAM,YAAY,GAAI,OAAO,iBAAiB,4CA8B7C,CAAA;AACD,eAAe,YAAY,CAAA"}
@@ -1,4 +1,3 @@
1
-
2
1
  export type TextProps = {
3
2
  /**
4
3
  * Text content
@@ -1 +1 @@
1
- {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/text/Text.tsx"],"names":[],"mappings":";AAEA,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;IACtC;;OAEG;IACH,KAAK,CAAC,EACF,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,IAAI,UAAW,SAAS,4CA6B7B,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Text.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/text/Text.tsx"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAA;AAEpB,MAAM,MAAM,SAAS,GAAG;IACtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;IACtC;;OAEG;IACH,KAAK,CAAC,EACF,SAAS,GACT,WAAW,GACX,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,GACT,OAAO,CAAA;IACX;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,IAAI,GAAI,OAAO,SAAS,4CA6B7B,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -1,4 +1,3 @@
1
-
2
1
  export interface ThumbnailProps {
3
2
  /**
4
3
  * Image source URL to display
@@ -1 +1 @@
1
- {"version":3,"file":"Thumbnail.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/thumbnail/Thumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAA;AAEzB,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,QAAA,MAAM,SAAS,UAAW,cAAc,4CA+DvC,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"Thumbnail.d.ts","sourceRoot":"","sources":["../../../../src/components/assets/thumbnail/Thumbnail.tsx"],"names":[],"mappings":"AAEA,OAAO,kBAAkB,CAAA;AAEzB,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,cAAc,4CA+DvC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
2
  import { ConsentConfiguration } from '../../../types/consent.types';
3
-
4
3
  export interface ConsentProps {
5
4
  /**
6
5
  * Welcome message displayed at the top
@@ -68,11 +67,11 @@ export interface ConsentProps {
68
67
  */
69
68
  onClose?: React.MouseEventHandler & React.KeyboardEventHandler;
70
69
  }
71
- export interface ConsentStates {
70
+ export interface ConsentState {
72
71
  isVendorsOpen: boolean;
73
72
  vendorsConsent: Array<ConsentConfiguration>;
74
73
  }
75
- export default class Consent extends React.Component<ConsentProps, ConsentStates> {
74
+ export default class Consent extends React.Component<ConsentProps, ConsentState> {
76
75
  constructor(props: ConsentProps);
77
76
  onConsentAll: () => void;
78
77
  onDenyAll: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../../../src/components/dialogs/consent/Consent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,gBAAgB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,aAAa,EAAE;QACb,wCAAwC;QACxC,KAAK,EAAE,MAAM,CAAA;QACb,2CAA2C;QAC3C,MAAM,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;KAC7D,CAAA;IACD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,cAAc,EAAE;QACd,4BAA4B;QAC5B,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;QACD,sBAAsB;QACtB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;QACD,8BAA8B;QAC9B,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;KACF,CAAA;IACD;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAA;IACjC;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;CAC5C;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,KAAK,CAAC,SAAS,CAClD,YAAY,EACZ,aAAa,CACd;gBACa,KAAK,EAAE,YAAY;IAS/B,YAAY,aASX;IAED,SAAS,aASR;IAED,gBAAgB,aAKf;IAGD,qBAAqB,UAAW,MAAM,UAerC;IAGD,aAAa,gDAoFZ;IAED,mBAAmB,gDA6MlB;IAGD,MAAM;CAeP"}
1
+ {"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../../../src/components/dialogs/consent/Consent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,gBAAgB,CAAA;AAEvB,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;OAEG;IACH,aAAa,EAAE;QACb,wCAAwC;QACxC,KAAK,EAAE,MAAM,CAAA;QACb,2CAA2C;QAC3C,MAAM,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;KAC7D,CAAA;IACD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,cAAc,EAAE;QACd,4BAA4B;QAC5B,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;QACD,sBAAsB;QACtB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;QACD,8BAA8B;QAC9B,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAA;YACb,MAAM,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAA;SAC9D,CAAA;KACF,CAAA;IACD;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAA;IACjC;;OAEG;IACH,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;IACxC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,oBAAoB,CAAA;CAC/D;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;CAC5C;AAED,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAClE,KAAK,EAAE,YAAY;IAS/B,YAAY,aASX;IAED,SAAS,aASR;IAED,gBAAgB,aAKf;IAGD,qBAAqB,GAAI,OAAO,MAAM,UAerC;IAGD,aAAa,gDAoFZ;IAED,mBAAmB,gDA6MlB;IAGD,MAAM;CAeP"}