@unoff/ui 1.21.0 → 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 (201) hide show
  1. package/dist/assets/Card.css +1 -1
  2. package/dist/assets/FormItem.css +1 -1
  3. package/dist/assets/Layout.css +1 -1
  4. package/dist/assets/MultipleSlider.css +1 -1
  5. package/dist/assets/Popin.css +1 -1
  6. package/dist/assets/SimpleSlider.css +1 -1
  7. package/dist/assets/styles/icons/icons.css +1 -1
  8. package/dist/assets/styles/icons/styles/figma.css +1 -1
  9. package/dist/assets/styles/icons/styles/framer.css +1 -1
  10. package/dist/assets/styles/icons/styles/penpot.css +1 -1
  11. package/dist/assets/styles/icons/styles/sketch.css +1 -1
  12. package/dist/components/actions/accordion/Accordion.d.ts +0 -1
  13. package/dist/components/actions/accordion/Accordion.d.ts.map +1 -1
  14. package/dist/components/actions/accordion/Accordion.js +6 -6
  15. package/dist/components/actions/accordion/Accordion.js.map +1 -1
  16. package/dist/components/actions/button/Button.d.ts +2 -3
  17. package/dist/components/actions/button/Button.d.ts.map +1 -1
  18. package/dist/components/actions/button/Button.figma.js +1 -1
  19. package/dist/components/actions/button/Button.js +87 -88
  20. package/dist/components/actions/button/Button.js.map +1 -1
  21. package/dist/components/actions/card/Card.d.ts +0 -1
  22. package/dist/components/actions/card/Card.d.ts.map +1 -1
  23. package/dist/components/actions/card/Card.js +1 -1
  24. package/dist/components/actions/card/Card.js.map +1 -1
  25. package/dist/components/actions/knob/Knob.d.ts +2 -3
  26. package/dist/components/actions/knob/Knob.d.ts.map +1 -1
  27. package/dist/components/actions/knob/Knob.js +1 -1
  28. package/dist/components/actions/knob/Knob.js.map +1 -1
  29. package/dist/components/actions/menu/Menu.d.ts +2 -3
  30. package/dist/components/actions/menu/Menu.d.ts.map +1 -1
  31. package/dist/components/actions/menu/Menu.js +4 -4
  32. package/dist/components/actions/menu/Menu.js.map +1 -1
  33. package/dist/components/assets/avatar/Avatar.d.ts +0 -1
  34. package/dist/components/assets/avatar/Avatar.d.ts.map +1 -1
  35. package/dist/components/assets/avatar/Avatar.js +6 -6
  36. package/dist/components/assets/avatar/Avatar.js.map +1 -1
  37. package/dist/components/assets/icon/Icon.d.ts +0 -1
  38. package/dist/components/assets/icon/Icon.d.ts.map +1 -1
  39. package/dist/components/assets/icon/Icon.figma.js +1 -1
  40. package/dist/components/assets/icon/Icon.js +6 -6
  41. package/dist/components/assets/icon/Icon.js.map +1 -1
  42. package/dist/components/assets/section-title/SectionTitle.d.ts +0 -1
  43. package/dist/components/assets/section-title/SectionTitle.d.ts.map +1 -1
  44. package/dist/components/assets/section-title/SectionTitle.js +1 -1
  45. package/dist/components/assets/section-title/SectionTitle.js.map +1 -1
  46. package/dist/components/assets/text/Text.d.ts +0 -1
  47. package/dist/components/assets/text/Text.d.ts.map +1 -1
  48. package/dist/components/assets/text/Text.js +1 -1
  49. package/dist/components/assets/text/Text.js.map +1 -1
  50. package/dist/components/assets/thumbnail/Thumbnail.d.ts +0 -1
  51. package/dist/components/assets/thumbnail/Thumbnail.d.ts.map +1 -1
  52. package/dist/components/dialogs/consent/Consent.d.ts +2 -3
  53. package/dist/components/dialogs/consent/Consent.d.ts.map +1 -1
  54. package/dist/components/dialogs/consent/Consent.js +1 -1
  55. package/dist/components/dialogs/consent/Consent.js.map +1 -1
  56. package/dist/components/dialogs/dialog/Dialog.d.ts +0 -1
  57. package/dist/components/dialogs/dialog/Dialog.d.ts.map +1 -1
  58. package/dist/components/dialogs/dialog/Dialog.js +4 -4
  59. package/dist/components/dialogs/dialog/Dialog.js.map +1 -1
  60. package/dist/components/dialogs/message/Message.d.ts +0 -1
  61. package/dist/components/dialogs/message/Message.js +1 -1
  62. package/dist/components/dialogs/message/Message.js.map +1 -1
  63. package/dist/components/dialogs/notification/Notification.d.ts +0 -1
  64. package/dist/components/dialogs/notification/Notification.d.ts.map +1 -1
  65. package/dist/components/dialogs/notification/Notification.js +4 -4
  66. package/dist/components/dialogs/notification/Notification.js.map +1 -1
  67. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts +2 -3
  68. package/dist/components/dialogs/semantic-message/SemanticMessage.d.ts.map +1 -1
  69. package/dist/components/dialogs/semantic-message/SemanticMessage.js +1 -1
  70. package/dist/components/dialogs/semantic-message/SemanticMessage.js.map +1 -1
  71. package/dist/components/inputs/dropdown/Dropdown.d.ts +2 -3
  72. package/dist/components/inputs/dropdown/Dropdown.d.ts.map +1 -1
  73. package/dist/components/inputs/dropdown/Dropdown.figma.js +1 -1
  74. package/dist/components/inputs/dropdown/Dropdown.js +1 -1
  75. package/dist/components/inputs/dropdown/Dropdown.js.map +1 -1
  76. package/dist/components/inputs/dropzone/Dropzone.d.ts +2 -3
  77. package/dist/components/inputs/dropzone/Dropzone.d.ts.map +1 -1
  78. package/dist/components/inputs/dropzone/Dropzone.js +4 -4
  79. package/dist/components/inputs/dropzone/Dropzone.js.map +1 -1
  80. package/dist/components/inputs/input/Input.d.ts +2 -3
  81. package/dist/components/inputs/input/Input.d.ts.map +1 -1
  82. package/dist/components/inputs/input/Input.figma.js +1 -1
  83. package/dist/components/inputs/input/Input.js +1 -1
  84. package/dist/components/inputs/input/Input.js.map +1 -1
  85. package/dist/components/inputs/inputs-bar/InputsBar.d.ts +0 -1
  86. package/dist/components/inputs/inputs-bar/InputsBar.d.ts.map +1 -1
  87. package/dist/components/inputs/inputs-bar/InputsBar.js +4 -4
  88. package/dist/components/inputs/inputs-bar/InputsBar.js.map +1 -1
  89. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts +19 -12
  90. package/dist/components/inputs/multiple-slider/MultipleSlider.d.ts.map +1 -1
  91. package/dist/components/inputs/multiple-slider/MultipleSlider.js +283 -235
  92. package/dist/components/inputs/multiple-slider/MultipleSlider.js.map +1 -1
  93. package/dist/components/inputs/multiple-slider/actions/addStop.d.ts.map +1 -1
  94. package/dist/components/inputs/multiple-slider/actions/deleteStop.d.ts.map +1 -1
  95. package/dist/components/inputs/multiple-slider/actions/shiftLeftStop.d.ts +1 -1
  96. package/dist/components/inputs/multiple-slider/actions/shiftLeftStop.d.ts.map +1 -1
  97. package/dist/components/inputs/multiple-slider/actions/shiftRightStop.d.ts +1 -1
  98. package/dist/components/inputs/multiple-slider/actions/shiftRightStop.d.ts.map +1 -1
  99. package/dist/components/inputs/select/Select.d.ts +3 -4
  100. package/dist/components/inputs/select/Select.d.ts.map +1 -1
  101. package/dist/components/inputs/select/Select.js +1 -1
  102. package/dist/components/inputs/select/Select.js.map +1 -1
  103. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts +15 -5
  104. package/dist/components/inputs/simple-slider/SimpleSlider.d.ts.map +1 -1
  105. package/dist/components/inputs/simple-slider/SimpleSlider.js +116 -87
  106. package/dist/components/inputs/simple-slider/SimpleSlider.js.map +1 -1
  107. package/dist/components/lists/actions-item/ActionsItem.d.ts +0 -1
  108. package/dist/components/lists/actions-item/ActionsItem.js +1 -1
  109. package/dist/components/lists/actions-item/ActionsItem.js.map +1 -1
  110. package/dist/components/lists/actions-list/ActionsList.d.ts +4 -5
  111. package/dist/components/lists/actions-list/ActionsList.d.ts.map +1 -1
  112. package/dist/components/lists/actions-list/ActionsList.js +1 -1
  113. package/dist/components/lists/actions-list/ActionsList.js.map +1 -1
  114. package/dist/components/lists/color-item/ColorItem.d.ts +0 -1
  115. package/dist/components/lists/color-item/ColorItem.d.ts.map +1 -1
  116. package/dist/components/lists/color-item/ColorItem.js +1 -1
  117. package/dist/components/lists/color-item/ColorItem.js.map +1 -1
  118. package/dist/components/lists/draggable-item/DraggableItem.d.ts +2 -3
  119. package/dist/components/lists/draggable-item/DraggableItem.d.ts.map +1 -1
  120. package/dist/components/lists/draggable-item/DraggableItem.js +6 -6
  121. package/dist/components/lists/draggable-item/DraggableItem.js.map +1 -1
  122. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts +0 -1
  123. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.d.ts.map +1 -1
  124. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.js +1 -1
  125. package/dist/components/lists/keyboard-shortcut-item/KeyboardShortcutItem.js.map +1 -1
  126. package/dist/components/lists/members-list/MembersList.d.ts +0 -1
  127. package/dist/components/lists/sortable-list/SortableList.d.ts +2 -3
  128. package/dist/components/lists/sortable-list/SortableList.d.ts.map +1 -1
  129. package/dist/components/lists/sortable-list/SortableList.js.map +1 -1
  130. package/dist/components/lists/tabs/Tabs.d.ts +0 -1
  131. package/dist/components/lists/tabs/Tabs.d.ts.map +1 -1
  132. package/dist/components/lists/tabs/Tabs.figma.js +1 -1
  133. package/dist/components/lists/tabs/Tabs.js +1 -1
  134. package/dist/components/lists/tabs/Tabs.js.map +1 -1
  135. package/dist/components/slots/bar/Bar.d.ts +1 -2
  136. package/dist/components/slots/bar/Bar.d.ts.map +1 -1
  137. package/dist/components/slots/bar/Bar.js.map +1 -1
  138. package/dist/components/slots/draggable-window/DraggableWindow.d.ts +0 -1
  139. package/dist/components/slots/draggable-window/DraggableWindow.d.ts.map +1 -1
  140. package/dist/components/slots/draggable-window/DraggableWindow.js +6 -6
  141. package/dist/components/slots/draggable-window/DraggableWindow.js.map +1 -1
  142. package/dist/components/slots/drawer/Drawer.d.ts +1 -2
  143. package/dist/components/slots/drawer/Drawer.d.ts.map +1 -1
  144. package/dist/components/slots/drawer/Drawer.js.map +1 -1
  145. package/dist/components/slots/form-item/FormItem.d.ts +0 -1
  146. package/dist/components/slots/form-item/FormItem.d.ts.map +1 -1
  147. package/dist/components/slots/form-item/FormItem.js +1 -1
  148. package/dist/components/slots/form-item/FormItem.js.map +1 -1
  149. package/dist/components/slots/layout/Layout.d.ts +0 -1
  150. package/dist/components/slots/layout/Layout.d.ts.map +1 -1
  151. package/dist/components/slots/layout/Layout.js.map +1 -1
  152. package/dist/components/slots/list/List.d.ts +0 -1
  153. package/dist/components/slots/list/List.d.ts.map +1 -1
  154. package/dist/components/slots/list/List.js +4 -4
  155. package/dist/components/slots/list/List.js.map +1 -1
  156. package/dist/components/slots/popin/Popin.d.ts +0 -1
  157. package/dist/components/slots/popin/Popin.d.ts.map +1 -1
  158. package/dist/components/slots/popin/Popin.js +1 -1
  159. package/dist/components/slots/popin/Popin.js.map +1 -1
  160. package/dist/components/slots/section/Section.d.ts +1 -2
  161. package/dist/components/slots/section/Section.d.ts.map +1 -1
  162. package/dist/components/slots/section/Section.js.map +1 -1
  163. package/dist/components/slots/simple-item/SimpleItem.d.ts +0 -1
  164. package/dist/components/slots/simple-item/SimpleItem.js.map +1 -1
  165. package/dist/components/tags/chip/Chip.d.ts +0 -1
  166. package/dist/components/tags/chip/Chip.d.ts.map +1 -1
  167. package/dist/components/tags/chip/Chip.figma.js +1 -1
  168. package/dist/components/tags/chip/Chip.js +6 -6
  169. package/dist/components/tags/chip/Chip.js.map +1 -1
  170. package/dist/components/tags/color-chip/ColorChip.d.ts +2 -3
  171. package/dist/components/tags/color-chip/ColorChip.d.ts.map +1 -1
  172. package/dist/components/tags/color-chip/ColorChip.js.map +1 -1
  173. package/dist/components/tags/icon-chip/IconChip.d.ts +2 -3
  174. package/dist/components/tags/icon-chip/IconChip.d.ts.map +1 -1
  175. package/dist/components/tags/icon-chip/IconChip.js +4 -4
  176. package/dist/components/tags/icon-chip/IconChip.js.map +1 -1
  177. package/dist/components/tags/tooltip/Tooltip.d.ts +0 -1
  178. package/dist/components/tags/tooltip/Tooltip.d.ts.map +1 -1
  179. package/dist/components/tags/tooltip/Tooltip.js +1 -1
  180. package/dist/components/tags/tooltip/Tooltip.js.map +1 -1
  181. package/dist/do-classnames-DSDFCvzy.js.map +1 -1
  182. package/dist/do-map-2nhWP1KI.js.map +1 -1
  183. package/dist/index.d.ts +1 -1
  184. package/dist/index.d.ts.map +1 -1
  185. package/dist/index.js +2 -0
  186. package/dist/index.js.map +1 -1
  187. package/dist/index_react-BkjUklDQ.js +18392 -0
  188. package/dist/index_react-BkjUklDQ.js.map +1 -0
  189. package/dist/styles/icons/icons.module.js +114 -110
  190. package/dist/styles/icons/icons.module.js.map +1 -1
  191. package/dist/tests/setup.d.ts +0 -1
  192. package/dist/types/consent.types.d.ts +0 -1
  193. package/dist/types/consent.types.d.ts.map +1 -1
  194. package/dist/types/icon.types.d.ts +2 -1
  195. package/dist/types/icon.types.d.ts.map +1 -1
  196. package/dist/types/icon.types.js +114 -1
  197. package/dist/types/icon.types.js.map +1 -1
  198. package/dist/types/list.types.d.ts +0 -1
  199. package/package.json +15 -12
  200. package/dist/index_react-CmuCVQet.js +0 -13799
  201. package/dist/index_react-CmuCVQet.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import '../../../assets/Dropzone.css';
2
2
  import { jsx as r, jsxs as u } from "react/jsx-runtime";
3
3
  import D from "react";
4
+ import { t as L } from "../../../do-classnames-DSDFCvzy.js";
4
5
  import g from "../../dialogs/semantic-message/SemanticMessage.js";
5
- import { Icon as L } from "../../assets/icon/Icon.js";
6
+ import { Icon as y } from "../../assets/icon/Icon.js";
6
7
  import d from "../../actions/button/Button.js";
7
- import { t as y } from "../../../do-classnames-DSDFCvzy.js";
8
8
  class V extends D.Component {
9
9
  stopLoading;
10
10
  static defaultProps = {
@@ -191,7 +191,7 @@ class V extends D.Component {
191
191
  return /* @__PURE__ */ u(
192
192
  "div",
193
193
  {
194
- className: y([
194
+ className: L([
195
195
  "dropzone",
196
196
  f && "dropzone--dragged-over",
197
197
  (s || t) && "dropzone--disabled"
@@ -204,7 +204,7 @@ class V extends D.Component {
204
204
  onDrop: this.onValidFilesViaDrop,
205
205
  children: [
206
206
  c && /* @__PURE__ */ r(
207
- L,
207
+ y,
208
208
  {
209
209
  type: "PICTO",
210
210
  iconName: "spinner"
@@ -1 +1 @@
1
- {"version":3,"file":"Dropzone.js","sources":["../../../../src/components/inputs/dropzone/Dropzone.tsx"],"sourcesContent":["import React from 'react'\nimport SemanticMessage from '@components/dialogs/semantic-message/SemanticMessage'\nimport Icon from '@components/assets/icon/Icon'\nimport Button from '@components/actions/button/Button'\nimport { doClassnames } from '@a_ng_d/figmug-utils'\nimport './dropzone.scss'\n\ninterface FileContent {\n name: string\n content: string | ArrayBuffer | null | undefined\n}\n\nexport interface DropzoneProps {\n /**\n * Message to display in the dropzone\n */\n message: string\n /**\n * Warning message to show on invalid file type\n */\n warningMessage: string\n /**\n * Error message to show on upload failure\n */\n errorMessage: string\n /**\n * Call-to-action text for the upload button\n */\n cta: string\n /**\n * Array of accepted MIME types\n * @default ['image/jpeg', 'image/png', 'application/pdf']\n */\n acceptedMimeTypes: Array<string>\n /**\n * Whether multiple files can be uploaded\n */\n isMultiple: boolean\n /**\n * Whether the dropzone is in loading state\n * @default false\n */\n isLoading?: boolean\n /**\n * Whether the dropzone is disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * Whether the dropzone 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 * Callback when files are successfully imported\n */\n onImportFiles: (files: Array<FileContent>) => void\n}\n\nexport interface DropzoneStates {\n status: 'READY' | 'WAITING' | 'WARNING' | 'ERROR'\n isLoading: boolean\n isDraggedOver: boolean\n blackList: Array<string>\n}\n\nexport default class Dropzone extends React.Component<\n DropzoneProps,\n DropzoneStates\n> {\n stopLoading: NodeJS.Timeout | undefined\n\n static defaultProps: Partial<DropzoneProps> = {\n acceptedMimeTypes: ['image/jpeg', 'image/png', 'application/pdf'],\n isLoading: false,\n isDisabled: false,\n isNew: false,\n isBlocked: false,\n }\n\n constructor(props: DropzoneProps) {\n super(props)\n this.state = {\n status: 'READY',\n isLoading: props.isLoading || false,\n isDraggedOver: false,\n blackList: [],\n }\n this.stopLoading = undefined\n }\n\n // Lifecycle\n componentDidUpdate = (prevProps: Readonly<DropzoneProps>) => {\n const { isLoading } = this.props\n\n if (isLoading !== prevProps.isLoading && isLoading) {\n this.setState({\n isLoading: true,\n })\n this.stopLoading = setTimeout(\n () => {\n this.setState({\n isLoading: false,\n })\n },\n 2 * 60 * 1000\n )\n } else if (isLoading !== prevProps.isLoading && !isLoading) {\n clearTimeout(this.stopLoading)\n this.setState({\n isLoading: false,\n })\n }\n }\n\n // Direct Actions\n onImport = (validFiles: Array<File>, unValidFiles: Array<File>) => {\n const { onImportFiles } = this.props\n const fileContents: Array<FileContent> = []\n\n validFiles.forEach((file: File) => {\n const reader = new FileReader()\n\n reader.onload = (e) => {\n const content = e.target?.result\n\n fileContents.push({ name: file.name, content: content })\n\n if (\n fileContents.length === validFiles.length &&\n unValidFiles.length === 0\n ) {\n onImportFiles(fileContents)\n this.setState({\n status: 'READY',\n })\n } else if (\n fileContents.length === validFiles.length &&\n unValidFiles.length > 0\n ) {\n onImportFiles(fileContents)\n this.setState({\n status: 'WARNING',\n })\n }\n }\n\n if (file.type.startsWith('image/png')) reader.readAsArrayBuffer(file)\n else if (file.type === 'application/pdf') reader.readAsArrayBuffer(file)\n else reader.readAsText(file)\n })\n }\n\n onValidFilesViaButton = () => {\n const { acceptedMimeTypes, isMultiple } = this.props\n\n this.setState({\n isDraggedOver: false,\n })\n\n const fileInput = document.createElement('input')\n fileInput.type = 'file'\n fileInput.accept = acceptedMimeTypes.join(',')\n fileInput.multiple = isMultiple\n fileInput.onchange = (event: Event) => {\n this.setState({\n status: 'WAITING',\n isLoading: true,\n })\n const target = event.target as HTMLInputElement\n const files = target.files\n this.onImport(Array.from(files || []), [])\n }\n fileInput.click()\n fileInput.remove()\n }\n\n onValidFilesViaDrop = (event: React.DragEvent) => {\n const { acceptedMimeTypes, isMultiple } = this.props\n\n event.preventDefault()\n this.setState({\n status: 'WAITING',\n isLoading: true,\n isDraggedOver: false,\n })\n\n let validFiles: File[] = Array.from(event.dataTransfer.files).filter(\n (file: File) => acceptedMimeTypes.includes(file.type)\n )\n\n let unValidFiles: File[] = Array.from(event.dataTransfer.files).filter(\n (file: File) => !acceptedMimeTypes.includes(file.type)\n )\n\n if (!isMultiple && validFiles.length > 1) {\n unValidFiles = unValidFiles.concat(validFiles.slice(1))\n validFiles = validFiles.slice(0, 1)\n }\n\n this.setState({\n blackList: unValidFiles.map((file) => file.name),\n })\n\n if (validFiles.length > 0) this.onImport(validFiles, unValidFiles)\n else\n this.setState({\n status: 'ERROR',\n isLoading: false,\n })\n }\n\n onDragOver = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: true,\n })\n }\n\n onDragEnter = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: true,\n })\n }\n\n onDragLeave = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: false,\n })\n }\n\n render() {\n const {\n message,\n warningMessage,\n errorMessage,\n cta,\n isDisabled,\n isBlocked,\n isNew,\n } = this.props\n const { status, isLoading, isDraggedOver, blackList } = this.state\n let fragment\n\n switch (status) {\n case 'READY': {\n fragment = (\n <SemanticMessage\n type=\"NEUTRAL\"\n message={message}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n case 'WAITING': {\n fragment = null\n break\n }\n case 'WARNING': {\n fragment = (\n <SemanticMessage\n type=\"WARNING\"\n message={warningMessage.replace(\n '$1',\n blackList.map((item) => `\"${item}\"`).join(', ')\n )}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n case 'ERROR': {\n fragment = (\n <SemanticMessage\n type=\"ERROR\"\n message={errorMessage}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n }\n\n return (\n <div\n className={doClassnames([\n 'dropzone',\n isDraggedOver && 'dropzone--dragged-over',\n (isBlocked || isDisabled) && 'dropzone--disabled',\n ])}\n role=\"region\"\n aria-disabled={isDisabled || isBlocked}\n onDragOver={this.onDragOver}\n onDragEnter={this.onDragEnter}\n onDragLeave={this.onDragLeave}\n onDrop={this.onValidFilesViaDrop}\n >\n {isLoading && (\n <Icon\n type=\"PICTO\"\n iconName=\"spinner\"\n />\n )}\n {fragment}\n </div>\n )\n }\n}\n"],"names":["Dropzone","React","props","prevProps","isLoading","validFiles","unValidFiles","onImportFiles","fileContents","file","reader","e","content","acceptedMimeTypes","isMultiple","fileInput","event","files","message","warningMessage","errorMessage","cta","isDisabled","isBlocked","isNew","status","isDraggedOver","blackList","fragment","jsx","SemanticMessage","Button","item","jsxs","doClassnames","Icon"],"mappings":";;;;;;AAuEA,MAAqBA,UAAiBC,EAAM,UAG1C;AAAA,EACA;AAAA,EAEA,OAAO,eAAuC;AAAA,IAC5C,mBAAmB,CAAC,cAAc,aAAa,iBAAiB;AAAA,IAChE,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,WAAW;AAAA,EAAA;AAAA,EAGb,YAAYC,GAAsB;AAChC,UAAMA,CAAK,GACX,KAAK,QAAQ;AAAA,MACX,QAAQ;AAAA,MACR,WAAWA,EAAM,aAAa;AAAA,MAC9B,eAAe;AAAA,MACf,WAAW,CAAA;AAAA,IAAC,GAEd,KAAK,cAAc;AAAA,EACrB;AAAA;AAAA,EAGA,qBAAqB,CAACC,MAAuC;AAC3D,UAAM,EAAE,WAAAC,MAAc,KAAK;AAE3B,IAAIA,MAAcD,EAAU,aAAaC,KACvC,KAAK,SAAS;AAAA,MACZ,WAAW;AAAA,IAAA,CACZ,GACD,KAAK,cAAc;AAAA,MACjB,MAAM;AACJ,aAAK,SAAS;AAAA,UACZ,WAAW;AAAA,QAAA,CACZ;AAAA,MACH;AAAA,MACA,MAAS;AAAA,IAAA,KAEFA,MAAcD,EAAU,aAAa,CAACC,MAC/C,aAAa,KAAK,WAAW,GAC7B,KAAK,SAAS;AAAA,MACZ,WAAW;AAAA,IAAA,CACZ;AAAA,EAEL;AAAA;AAAA,EAGA,WAAW,CAACC,GAAyBC,MAA8B;AACjE,UAAM,EAAE,eAAAC,MAAkB,KAAK,OACzBC,IAAmC,CAAA;AAEzC,IAAAH,EAAW,QAAQ,CAACI,MAAe;AACjC,YAAMC,IAAS,IAAI,WAAA;AAEnB,MAAAA,EAAO,SAAS,CAACC,MAAM;AACrB,cAAMC,IAAUD,EAAE,QAAQ;AAE1B,QAAAH,EAAa,KAAK,EAAE,MAAMC,EAAK,MAAM,SAAAG,GAAkB,GAGrDJ,EAAa,WAAWH,EAAW,UACnCC,EAAa,WAAW,KAExBC,EAAcC,CAAY,GAC1B,KAAK,SAAS;AAAA,UACZ,QAAQ;AAAA,QAAA,CACT,KAEDA,EAAa,WAAWH,EAAW,UACnCC,EAAa,SAAS,MAEtBC,EAAcC,CAAY,GAC1B,KAAK,SAAS;AAAA,UACZ,QAAQ;AAAA,QAAA,CACT;AAAA,MAEL,GAEIC,EAAK,KAAK,WAAW,WAAW,KAC3BA,EAAK,SAAS,oBADgBC,EAAO,kBAAkBD,CAAI,IAE/DC,EAAO,WAAWD,CAAI;AAAA,IAC7B,CAAC;AAAA,EACH;AAAA,EAEA,wBAAwB,MAAM;AAC5B,UAAM,EAAE,mBAAAI,GAAmB,YAAAC,EAAA,IAAe,KAAK;AAE/C,SAAK,SAAS;AAAA,MACZ,eAAe;AAAA,IAAA,CAChB;AAED,UAAMC,IAAY,SAAS,cAAc,OAAO;AAChD,IAAAA,EAAU,OAAO,QACjBA,EAAU,SAASF,EAAkB,KAAK,GAAG,GAC7CE,EAAU,WAAWD,GACrBC,EAAU,WAAW,CAACC,MAAiB;AACrC,WAAK,SAAS;AAAA,QACZ,QAAQ;AAAA,QACR,WAAW;AAAA,MAAA,CACZ;AAED,YAAMC,IADSD,EAAM,OACA;AACrB,WAAK,SAAS,MAAM,KAAKC,KAAS,CAAA,CAAE,GAAG,EAAE;AAAA,IAC3C,GACAF,EAAU,MAAA,GACVA,EAAU,OAAA;AAAA,EACZ;AAAA,EAEA,sBAAsB,CAACC,MAA2B;AAChD,UAAM,EAAE,mBAAAH,GAAmB,YAAAC,EAAA,IAAe,KAAK;AAE/C,IAAAE,EAAM,eAAA,GACN,KAAK,SAAS;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,eAAe;AAAA,IAAA,CAChB;AAED,QAAIX,IAAqB,MAAM,KAAKW,EAAM,aAAa,KAAK,EAAE;AAAA,MAC5D,CAACP,MAAeI,EAAkB,SAASJ,EAAK,IAAI;AAAA,IAAA,GAGlDH,IAAuB,MAAM,KAAKU,EAAM,aAAa,KAAK,EAAE;AAAA,MAC9D,CAACP,MAAe,CAACI,EAAkB,SAASJ,EAAK,IAAI;AAAA,IAAA;AAGvD,IAAI,CAACK,KAAcT,EAAW,SAAS,MACrCC,IAAeA,EAAa,OAAOD,EAAW,MAAM,CAAC,CAAC,GACtDA,IAAaA,EAAW,MAAM,GAAG,CAAC,IAGpC,KAAK,SAAS;AAAA,MACZ,WAAWC,EAAa,IAAI,CAACG,MAASA,EAAK,IAAI;AAAA,IAAA,CAChD,GAEGJ,EAAW,SAAS,IAAG,KAAK,SAASA,GAAYC,CAAY,IAE/D,KAAK,SAAS;AAAA,MACZ,QAAQ;AAAA,MACR,WAAW;AAAA,IAAA,CACZ;AAAA,EACL;AAAA,EAEA,aAAa,CAACU,MAA2B;AACvC,IAAAA,EAAM,eAAA,GACN,KAAK,SAAS;AAAA,MACZ,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAAA,EAEA,cAAc,CAACA,MAA2B;AACxC,IAAAA,EAAM,eAAA,GACN,KAAK,SAAS;AAAA,MACZ,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAAA,EAEA,cAAc,CAACA,MAA2B;AACxC,IAAAA,EAAM,eAAA,GACN,KAAK,SAAS;AAAA,MACZ,eAAe;AAAA,IAAA,CAChB;AAAA,EACH;AAAA,EAEA,SAAS;AACP,UAAM;AAAA,MACJ,SAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,KAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,OAAAC;AAAA,IAAA,IACE,KAAK,OACH,EAAE,QAAAC,GAAQ,WAAArB,GAAW,eAAAsB,GAAe,WAAAC,EAAA,IAAc,KAAK;AAC7D,QAAIC;AAEJ,YAAQH,GAAA;AAAA,MACN,KAAK,SAAS;AACZ,QAAAG,IACE,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAAZ;AAAA,YACA,aAAY;AAAA,YACZ,aACE,gBAAAW;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAOV;AAAA,gBACP,WAAAE;AAAA,gBACA,YAAAD;AAAA,gBACA,OAAAE;AAAA,gBACA,QAAQ,MACN,EAAED,KAAaD,MAAe,KAAK,sBAAA;AAAA,cAAsB;AAAA,YAAA;AAAA,UAE7D;AAAA,QAAA;AAIN;AAAA,MACF;AAAA,MACA,KAAK,WAAW;AACd,QAAAM,IAAW;AACX;AAAA,MACF;AAAA,MACA,KAAK,WAAW;AACd,QAAAA,IACE,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAASX,EAAe;AAAA,cACtB;AAAA,cACAQ,EAAU,IAAI,CAACK,MAAS,IAAIA,CAAI,GAAG,EAAE,KAAK,IAAI;AAAA,YAAA;AAAA,YAEhD,aAAY;AAAA,YACZ,aACE,gBAAAH;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAOV;AAAA,gBACP,WAAAE;AAAA,gBACA,YAAAD;AAAA,gBACA,OAAAE;AAAA,gBACA,QAAQ,MACN,EAAED,KAAaD,MAAe,KAAK,sBAAA;AAAA,cAAsB;AAAA,YAAA;AAAA,UAE7D;AAAA,QAAA;AAIN;AAAA,MACF;AAAA,MACA,KAAK,SAAS;AACZ,QAAAM,IACE,gBAAAC;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,SAASV;AAAA,YACT,aAAY;AAAA,YACZ,aACE,gBAAAS;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,OAAOV;AAAA,gBACP,WAAAE;AAAA,gBACA,YAAAD;AAAA,gBACA,OAAAE;AAAA,gBACA,QAAQ,MACN,EAAED,KAAaD,MAAe,KAAK,sBAAA;AAAA,cAAsB;AAAA,YAAA;AAAA,UAE7D;AAAA,QAAA;AAIN;AAAA,MACF;AAAA,IAAA;AAGF,WACE,gBAAAW;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAa;AAAA,UACtB;AAAA,UACAR,KAAiB;AAAA,WAChBH,KAAaD,MAAe;AAAA,QAAA,CAC9B;AAAA,QACD,MAAK;AAAA,QACL,iBAAeA,KAAcC;AAAA,QAC7B,YAAY,KAAK;AAAA,QACjB,aAAa,KAAK;AAAA,QAClB,aAAa,KAAK;AAAA,QAClB,QAAQ,KAAK;AAAA,QAEZ,UAAA;AAAA,UAAAnB,KACC,gBAAAyB;AAAA,YAACM;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,UAAS;AAAA,YAAA;AAAA,UAAA;AAAA,UAGZP;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGP;AACF;"}
1
+ {"version":3,"file":"Dropzone.js","sources":["../../../../src/components/inputs/dropzone/Dropzone.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\nimport SemanticMessage from '@components/dialogs/semantic-message/SemanticMessage'\nimport Icon from '@components/assets/icon/Icon'\nimport Button from '@components/actions/button/Button'\nimport './dropzone.scss'\n\ninterface FileContent {\n name: string\n content: string | ArrayBuffer | null | undefined\n}\n\nexport interface DropzoneProps {\n /**\n * Message to display in the dropzone\n */\n message: string\n /**\n * Warning message to show on invalid file type\n */\n warningMessage: string\n /**\n * Error message to show on upload failure\n */\n errorMessage: string\n /**\n * Call-to-action text for the upload button\n */\n cta: string\n /**\n * Array of accepted MIME types\n * @default ['image/jpeg', 'image/png', 'application/pdf']\n */\n acceptedMimeTypes: Array<string>\n /**\n * Whether multiple files can be uploaded\n */\n isMultiple: boolean\n /**\n * Whether the dropzone is in loading state\n * @default false\n */\n isLoading?: boolean\n /**\n * Whether the dropzone is disabled\n * @default false\n */\n isDisabled?: boolean\n /**\n * Whether the dropzone 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 * Callback when files are successfully imported\n */\n onImportFiles: (files: Array<FileContent>) => void\n}\n\nexport interface DropzoneState {\n status: 'READY' | 'WAITING' | 'WARNING' | 'ERROR'\n isLoading: boolean\n isDraggedOver: boolean\n blackList: Array<string>\n}\n\nexport default class Dropzone extends React.Component<DropzoneProps, DropzoneState> {\n stopLoading: NodeJS.Timeout | undefined\n\n static defaultProps: Partial<DropzoneProps> = {\n acceptedMimeTypes: ['image/jpeg', 'image/png', 'application/pdf'],\n isLoading: false,\n isDisabled: false,\n isNew: false,\n isBlocked: false,\n }\n\n constructor(props: DropzoneProps) {\n super(props)\n this.state = {\n status: 'READY',\n isLoading: props.isLoading || false,\n isDraggedOver: false,\n blackList: [],\n }\n this.stopLoading = undefined\n }\n\n // Lifecycle\n componentDidUpdate = (prevProps: Readonly<DropzoneProps>) => {\n const { isLoading } = this.props\n\n if (isLoading !== prevProps.isLoading && isLoading) {\n this.setState({\n isLoading: true,\n })\n this.stopLoading = setTimeout(\n () => {\n this.setState({\n isLoading: false,\n })\n },\n 2 * 60 * 1000\n )\n } else if (isLoading !== prevProps.isLoading && !isLoading) {\n clearTimeout(this.stopLoading)\n this.setState({\n isLoading: false,\n })\n }\n }\n\n // Direct Actions\n onImport = (validFiles: Array<File>, unValidFiles: Array<File>) => {\n const { onImportFiles } = this.props\n const fileContents: Array<FileContent> = []\n\n validFiles.forEach((file: File) => {\n const reader = new FileReader()\n\n reader.onload = (e) => {\n const content = e.target?.result\n\n fileContents.push({ name: file.name, content: content })\n\n if (\n fileContents.length === validFiles.length &&\n unValidFiles.length === 0\n ) {\n onImportFiles(fileContents)\n this.setState({\n status: 'READY',\n })\n } else if (\n fileContents.length === validFiles.length &&\n unValidFiles.length > 0\n ) {\n onImportFiles(fileContents)\n this.setState({\n status: 'WARNING',\n })\n }\n }\n\n if (file.type.startsWith('image/png')) reader.readAsArrayBuffer(file)\n else if (file.type === 'application/pdf') reader.readAsArrayBuffer(file)\n else reader.readAsText(file)\n })\n }\n\n onValidFilesViaButton = () => {\n const { acceptedMimeTypes, isMultiple } = this.props\n\n this.setState({\n isDraggedOver: false,\n })\n\n const fileInput = document.createElement('input')\n fileInput.type = 'file'\n fileInput.accept = acceptedMimeTypes.join(',')\n fileInput.multiple = isMultiple\n fileInput.onchange = (event: Event) => {\n this.setState({\n status: 'WAITING',\n isLoading: true,\n })\n const target = event.target as HTMLInputElement\n const files = target.files\n this.onImport(Array.from(files || []), [])\n }\n fileInput.click()\n fileInput.remove()\n }\n\n onValidFilesViaDrop = (event: React.DragEvent) => {\n const { acceptedMimeTypes, isMultiple } = this.props\n\n event.preventDefault()\n this.setState({\n status: 'WAITING',\n isLoading: true,\n isDraggedOver: false,\n })\n\n let validFiles: File[] = Array.from(event.dataTransfer.files).filter(\n (file: File) => acceptedMimeTypes.includes(file.type)\n )\n\n let unValidFiles: File[] = Array.from(event.dataTransfer.files).filter(\n (file: File) => !acceptedMimeTypes.includes(file.type)\n )\n\n if (!isMultiple && validFiles.length > 1) {\n unValidFiles = unValidFiles.concat(validFiles.slice(1))\n validFiles = validFiles.slice(0, 1)\n }\n\n this.setState({\n blackList: unValidFiles.map((file) => file.name),\n })\n\n if (validFiles.length > 0) this.onImport(validFiles, unValidFiles)\n else\n this.setState({\n status: 'ERROR',\n isLoading: false,\n })\n }\n\n onDragOver = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: true,\n })\n }\n\n onDragEnter = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: true,\n })\n }\n\n onDragLeave = (event: React.DragEvent) => {\n event.preventDefault()\n this.setState({\n isDraggedOver: false,\n })\n }\n\n render() {\n const {\n message,\n warningMessage,\n errorMessage,\n cta,\n isDisabled,\n isBlocked,\n isNew,\n } = this.props\n const { status, isLoading, isDraggedOver, blackList } = this.state\n let fragment\n\n switch (status) {\n case 'READY': {\n fragment = (\n <SemanticMessage\n type=\"NEUTRAL\"\n message={message}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n case 'WAITING': {\n fragment = null\n break\n }\n case 'WARNING': {\n fragment = (\n <SemanticMessage\n type=\"WARNING\"\n message={warningMessage.replace(\n '$1',\n blackList.map((item) => `\"${item}\"`).join(', ')\n )}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n case 'ERROR': {\n fragment = (\n <SemanticMessage\n type=\"ERROR\"\n message={errorMessage}\n orientation=\"VERTICAL\"\n actionsSlot={\n <Button\n type=\"primary\"\n label={cta}\n isBlocked={isBlocked}\n isDisabled={isDisabled}\n isNew={isNew}\n action={() =>\n !(isBlocked || isDisabled) && this.onValidFilesViaButton()\n }\n />\n }\n />\n )\n break\n }\n }\n\n return (\n <div\n className={doClassnames([\n 'dropzone',\n isDraggedOver && 'dropzone--dragged-over',\n (isBlocked || isDisabled) && 'dropzone--disabled',\n ])}\n role=\"region\"\n aria-disabled={isDisabled || isBlocked}\n onDragOver={this.onDragOver}\n onDragEnter={this.onDragEnter}\n onDragLeave={this.onDragLeave}\n onDrop={this.onValidFilesViaDrop}\n >\n {isLoading && (\n <Icon\n type=\"PICTO\"\n iconName=\"spinner\"\n />\n )}\n {fragment}\n </div>\n )\n }\n}\n"],"names":["Dropzone","React","props","prevProps","isLoading","validFiles","unValidFiles","onImportFiles","fileContents","file","reader","e","content","acceptedMimeTypes","isMultiple","fileInput","event","files","message","warningMessage","errorMessage","cta","isDisabled","isBlocked","isNew","status","isDraggedOver","blackList","fragment","jsx","SemanticMessage","Button","item","jsxs","doClassnames","Icon"],"mappings":"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"}
@@ -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 InputProps {
5
4
  /**
6
5
  * HTML id attribute
@@ -164,14 +163,14 @@ export interface InputProps {
164
163
  */
165
164
  onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler;
166
165
  }
167
- export interface InputStates {
166
+ export interface InputState {
168
167
  inputValue: string;
169
168
  lastValidValue: string;
170
169
  lastValidColorValue: string;
171
170
  colorValue: string;
172
171
  isTooltipVisible: boolean;
173
172
  }
174
- export default class Input extends React.Component<InputProps, InputStates> {
173
+ export default class Input extends React.Component<InputProps, InputState> {
175
174
  inputRef: React.RefObject<HTMLInputElement>;
176
175
  textareaRef: React.RefObject<HTMLTextAreaElement>;
177
176
  static defaultProps: Partial<InputProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/input/Input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/input/Input.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as i } from "react/jsx-runtime";
2
- import { i as e } from "../../../index_react-CmuCVQet.js";
2
+ import { i as e } from "../../../index_react-BkjUklDQ.js";
3
3
  import t from "./Input.js";
4
4
  e.figma.connect(
5
5
  t,
@@ -1,12 +1,12 @@
1
1
  import '../../../assets/Input.css';
2
2
  import { jsxs as h, jsx as p } from "react/jsx-runtime";
3
3
  import T from "react";
4
+ import { t as f } from "../../../do-classnames-DSDFCvzy.js";
4
5
  import m from "../../tags/tooltip/Tooltip.js";
5
6
  import y from "../../tags/icon-chip/IconChip.js";
6
7
  import x from "../../tags/chip/Chip.js";
7
8
  import { Icon as V } from "../../assets/icon/Icon.js";
8
9
  import S from "../../actions/button/Button.js";
9
- import { t as f } from "../../../do-classnames-DSDFCvzy.js";
10
10
  class B extends T.Component {
11
11
  inputRef;
12
12
  textareaRef;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/inputs/input/Input.tsx"],"sourcesContent":["import React from 'react'\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 Button from '@components/actions/button/Button'\nimport { doClassnames } from '@a_ng_d/figmug-utils'\nimport type { IconList } from '@tps/icon.types'\nimport './input.scss'\n\nexport interface InputProps {\n /**\n * HTML id attribute\n */\n id?: string\n /**\n * Type of input\n */\n type: 'NUMBER' | 'COLOR' | 'TEXT' | 'LONG_TEXT' | 'CODE'\n /**\n * Icon configuration to display in the input\n */\n icon?: { type: 'LETTER' | 'PICTO'; value: IconList }\n /**\n * Unit suffix to display (% or °)\n */\n unit?: '%' | '°'\n /**\n * Visual state of the input\n * @default 'DEFAULT'\n */\n state?: 'DEFAULT' | 'ERROR'\n /**\n * Placeholder text\n */\n placeholder?: string\n /**\n * Current value of the input\n */\n value: string\n /**\n * Maximum number of characters allowed\n */\n charactersLimit?: number\n /**\n * Minimum value (for NUMBER type)\n */\n min?: string\n /**\n * Maximum value (for NUMBER type)\n */\n max?: string\n /**\n * Step value (for NUMBER type)\n */\n step?: 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 to blur the input after interaction\n */\n shouldBlur?: boolean\n /**\n * Whether to auto-focus on mount\n */\n isAutoFocus?: boolean\n /**\n * Whether the textarea should grow with content\n */\n isGrowing?: boolean\n /**\n * Whether to use flex layout\n */\n isFlex?: boolean\n /**\n * Whether to show a clear button\n */\n isClearable?: boolean\n /**\n * Whether to show a frame border\n */\n isFramed?: boolean\n /**\n * Whether the input can be empty\n */\n canBeEmpty?: boolean\n /**\n * Whether the input is blocked\n */\n isBlocked?: boolean\n /**\n * Whether the input is disabled\n */\n isDisabled?: boolean\n /**\n * Whether to show a \"New\" badge\n */\n isNew?: boolean\n /**\n * Change event handler\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Focus event handler\n */\n onFocus?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Blur event handler\n */\n onBlur?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Keyboard shift handler\n */\n onShift?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Clear button handler\n */\n onClear?: (value: string) => void\n /**\n * Slider change handler (for NUMBER type)\n */\n onSlide?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Validation handler\n */\n onValid?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Color picker handler (for COLOR type)\n */\n onPick?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Handler called when unblock is clicked\n */\n onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler\n}\n\nexport interface InputStates {\n inputValue: string\n lastValidValue: string\n lastValidColorValue: string\n colorValue: string\n isTooltipVisible: boolean\n}\n\nexport default class Input extends React.Component<InputProps, InputStates> {\n inputRef: React.RefObject<HTMLInputElement>\n textareaRef: React.RefObject<HTMLTextAreaElement>\n\n static defaultProps: Partial<InputProps> = {\n icon: undefined,\n state: 'DEFAULT',\n step: '1',\n shouldBlur: false,\n isClearable: false,\n isFramed: true,\n canBeEmpty: true,\n isBlocked: false,\n isDisabled: false,\n isNew: false,\n isAutoFocus: false,\n isGrowing: false,\n isFlex: false,\n }\n\n constructor(props: InputProps) {\n super(props)\n this.state = {\n inputValue: props.value,\n lastValidValue: props.value,\n colorValue: props.value,\n lastValidColorValue: props.value,\n isTooltipVisible: false,\n }\n this.inputRef = React.createRef()\n this.textareaRef = React.createRef()\n }\n\n componentDidMount(): void {\n const { isGrowing } = this.props\n\n if (this.textareaRef.current) {\n this.textareaRef.current.style.height = 'auto'\n if (isGrowing)\n this.textareaRef.current.style.height = `${this.textareaRef.current.scrollHeight + 2}px`\n }\n const { isAutoFocus } = this.props\n if (isAutoFocus)\n setTimeout(() => {\n if (this.inputRef.current) this.inputRef.current.focus()\n else if (this.textareaRef.current) this.textareaRef.current.focus()\n }, 1)\n }\n\n componentDidUpdate(prevProps: InputProps) {\n const { value, isGrowing } = this.props\n\n if (prevProps.value !== value)\n this.setState({\n inputValue: value,\n colorValue: value,\n })\n\n if (prevProps.type === 'CODE' && this.textareaRef.current !== null)\n this.textareaRef.current.scrollTop = 0\n if (this.textareaRef.current) {\n this.textareaRef.current.style.height = 'auto'\n if (isGrowing)\n this.textareaRef.current.style.height = `${this.textareaRef.current.scrollHeight + 2}px`\n }\n }\n\n // Handlers\n onPickColorValue = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onPick } = this.props\n const value = e.target.value\n\n this.setState({\n inputValue: value,\n colorValue: value,\n lastValidColorValue: value,\n })\n if (onPick) onPick(e)\n }\n\n onChangeColorValue = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onChangeNumber = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onChangeText = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onFocus = (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { value, onFocus, canBeEmpty, type } = this.props\n\n const shouldPreventEvent =\n (type === 'TEXT' || type === 'LONG_TEXT') &&\n !canBeEmpty &&\n value.trim() === ''\n\n if (onFocus && !shouldPreventEvent) onFocus(e)\n }\n\n onBlur = (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { shouldBlur, onBlur, canBeEmpty, type, min, max } = this.props\n const { inputValue, lastValidValue, lastValidColorValue } = this.state\n\n if (type === 'NUMBER') {\n const isEmpty = inputValue.trim() === ''\n let transformedValue\n\n if (parseFloat(inputValue) < parseFloat(min ?? '0'))\n transformedValue = min ?? '0'\n else if (parseFloat(inputValue) > parseFloat(max ?? '100'))\n transformedValue = max ?? '100'\n else if (isEmpty) {\n transformedValue = lastValidValue\n this.setState({\n inputValue: transformedValue,\n })\n } else transformedValue = inputValue\n\n this.setState({\n inputValue: transformedValue ?? inputValue,\n lastValidValue: transformedValue ?? inputValue,\n })\n\n if (\n (transformedValue !== lastValidValue && onBlur) ||\n (shouldBlur && onBlur)\n ) {\n const syntheticEvent = {\n ...e,\n target: {\n ...e.target,\n value: transformedValue,\n closest: e.target.closest?.bind(e.target),\n getAttribute: e.target.getAttribute?.bind(e.target),\n querySelector: e.target.querySelector?.bind(e.target),\n querySelectorAll: e.target.querySelectorAll?.bind(e.target),\n matches: e.target.matches?.bind(e.target),\n contains: e.target.contains?.bind(e.target),\n classList: e.target.classList,\n dataset: e.target.dataset,\n },\n currentTarget: {\n ...e.currentTarget,\n value: transformedValue,\n closest: e.currentTarget.closest?.bind(e.currentTarget),\n getAttribute: e.currentTarget.getAttribute?.bind(e.currentTarget),\n querySelector: e.currentTarget.querySelector?.bind(e.currentTarget),\n querySelectorAll: e.currentTarget.querySelectorAll?.bind(\n e.currentTarget\n ),\n matches: e.currentTarget.matches?.bind(e.currentTarget),\n contains: e.currentTarget.contains?.bind(e.currentTarget),\n classList: e.currentTarget.classList,\n dataset: e.currentTarget.dataset,\n },\n }\n\n onBlur(\n syntheticEvent as React.FocusEvent<\n HTMLInputElement | HTMLTextAreaElement\n >\n )\n\n return\n }\n }\n\n if (type === 'COLOR') {\n const transformedValue = this.transformColorCode(e.target.value)\n\n this.setState({\n inputValue: transformedValue,\n colorValue: transformedValue,\n lastValidColorValue: transformedValue,\n })\n\n if (\n (transformedValue !== lastValidColorValue && onBlur !== undefined) ||\n (shouldBlur && onBlur !== undefined)\n ) {\n const syntheticEvent = {\n ...e,\n target: {\n ...e.target,\n value: transformedValue,\n closest: e.target.closest?.bind(e.target),\n getAttribute: e.target.getAttribute?.bind(e.target),\n querySelector: e.target.querySelector?.bind(e.target),\n querySelectorAll: e.target.querySelectorAll?.bind(e.target),\n matches: e.target.matches?.bind(e.target),\n contains: e.target.contains?.bind(e.target),\n classList: e.target.classList,\n dataset: e.target.dataset,\n },\n currentTarget: {\n ...e.currentTarget,\n value: transformedValue,\n closest: e.currentTarget.closest?.bind(e.currentTarget),\n getAttribute: e.currentTarget.getAttribute?.bind(e.currentTarget),\n querySelector: e.currentTarget.querySelector?.bind(e.currentTarget),\n querySelectorAll: e.currentTarget.querySelectorAll?.bind(\n e.currentTarget\n ),\n matches: e.currentTarget.matches?.bind(e.currentTarget),\n contains: e.currentTarget.contains?.bind(e.currentTarget),\n classList: e.currentTarget.classList,\n dataset: e.currentTarget.dataset,\n },\n }\n\n onBlur(\n syntheticEvent as React.FocusEvent<\n HTMLInputElement | HTMLTextAreaElement\n >\n )\n\n return\n }\n }\n\n if (type === 'TEXT' || type === 'LONG_TEXT') {\n const isEmpty = inputValue.trim() === ''\n const shouldPreventEvent =\n (type === 'TEXT' || type === 'LONG_TEXT') && !canBeEmpty && isEmpty\n\n if (shouldPreventEvent) {\n this.setState({\n inputValue: lastValidValue,\n })\n return\n }\n\n this.setState({\n lastValidValue: inputValue,\n })\n\n if ((inputValue !== lastValidValue && onBlur) || (shouldBlur && onBlur)) {\n onBlur(e)\n\n return\n }\n }\n }\n\n // Direct Actions\n onValidText = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if (e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n onValidLongText = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if ((e.ctrlKey || e.metaKey) && e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n onValidNumber = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { min, max, step, onShift } = this.props\n const { inputValue } = this.state\n const target = e.target as HTMLInputElement\n\n let nudge = 0\n\n if (e.key === 'ArrowUp') {\n if (e.shiftKey) nudge = 9\n const v =\n parseFloat(inputValue) + nudge < parseFloat(max ?? '100')\n ? (\n parseFloat(inputValue) +\n nudge * parseFloat(step === undefined ? '1' : step)\n ).toString()\n : (max ?? '100')\n\n this.setState({\n inputValue: v,\n lastValidValue: v,\n })\n if (parseFloat(inputValue) + nudge < parseFloat(max ?? '100'))\n onShift?.(e)\n } else if (e.key === 'ArrowDown') {\n if (e.shiftKey) nudge = 9\n const v =\n parseFloat(inputValue) - nudge > parseFloat(min ?? '0')\n ? (\n parseFloat(inputValue) -\n nudge * parseFloat(step === undefined ? '1' : step)\n ).toString()\n : (min ?? '0')\n this.setState({\n inputValue: v,\n lastValidValue: v,\n })\n if (parseFloat(inputValue) - nudge > parseFloat(min ?? '0')) onShift?.(e)\n } else if (e.key === 'Enter' || e.key === 'Escape') {\n if (parseFloat(inputValue) < parseFloat(min ?? '0'))\n this.setState({\n inputValue: min ?? '0',\n })\n else if (parseFloat(inputValue) > parseFloat(max ?? '100'))\n this.setState({\n inputValue: max ?? '100',\n })\n\n target.blur()\n }\n }\n\n onValidColor = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if (e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n doClear = () => this.setState({ inputValue: '' })\n\n onGrab = () => {\n if (this.inputRef.current) this.inputRef.current.focus()\n document.addEventListener('mousemove', this.onDrag)\n }\n\n onDrag = (e: MouseEvent) => {\n if (this.inputRef.current) this.inputRef.current.focus()\n const { min, max, onSlide } = this.props\n const { inputValue } = this.state\n\n const nMin = parseFloat(min ?? '0')\n const nMax = parseFloat(max ?? '100')\n const nValue = parseFloat(inputValue)\n const delta = nValue + e.movementX\n\n if (delta >= nMin && delta <= nMax) {\n this.setState({\n inputValue: delta.toString(),\n })\n if (this.inputRef.current) {\n const event = new Event('input', { bubbles: true })\n Object.defineProperty(event, 'target', {\n value: this.inputRef.current,\n enumerable: true,\n })\n Object.defineProperty(event, 'currentTarget', {\n value: this.inputRef.current,\n enumerable: true,\n })\n onSlide?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n }\n }\n\n document.body.style.setProperty('cursor', 'ew-resize', 'important')\n this.inputRef.current?.style.setProperty('cursor', 'ew-resize', 'important')\n document.addEventListener('mouseup', () => {\n document.removeEventListener('mousemove', this.onDrag)\n document.body.style.cursor = ''\n if (this.inputRef.current) this.inputRef.current.style.cursor = ''\n })\n }\n\n transformColorCode = (colorCode: string): string => {\n const { lastValidColorValue } = this.state\n\n const inputWithoutHash = colorCode.startsWith('#')\n ? colorCode.substring(1)\n : colorCode\n\n const validChars = inputWithoutHash\n .toLowerCase()\n .split('')\n .filter((char) => /[0-9a-f]/i.test(char))\n\n if (validChars.length === 0) return lastValidColorValue\n\n if (validChars.length >= 6) return `#${validChars.slice(0, 6).join('')}`\n\n let result = ''\n\n switch (validChars.length) {\n case 1:\n result = validChars[0].repeat(6)\n break\n\n case 2:\n result = `${validChars.join('')}`.repeat(3)\n break\n\n case 3:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n case 4:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n case 5:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n default:\n result = validChars.slice(0, 6).join('')\n }\n\n result.indexOf('#') !== 0 && (result = `#${result}`)\n\n return result.toLowerCase()\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=\"input__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 Color = () => {\n const { id, feature, helper, isBlocked, isDisabled, onBlur } = this.props\n const { inputValue, colorValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--color',\n 'input--with-color',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <input\n id={id}\n data-feature={feature}\n type=\"color\"\n className=\"input__color\"\n value={colorValue}\n disabled={isDisabled || isBlocked}\n aria-label=\"Color picker\"\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onPickColorValue : undefined\n }\n onBlur={!(isDisabled || isBlocked) ? onBlur : undefined}\n ref={this.inputRef}\n />\n <input\n role=\"textbox\"\n id={id}\n data-feature={feature}\n type=\"text\"\n className=\"input__field\"\n value={inputValue.toUpperCase().replace('#', '')}\n maxLength={7}\n disabled={isDisabled || isBlocked}\n aria-label=\"Hex color code\"\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeColorValue : undefined\n }\n onFocus={(e) => {\n e.target.select()\n this.onFocus(e)\n }}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidColor : undefined\n }\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n />\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n Number = () => {\n const {\n id,\n icon,\n unit,\n min,\n max,\n step,\n helper,\n feature,\n isBlocked,\n isDisabled,\n isFlex,\n onSlide,\n } = this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--number',\n icon !== undefined && 'input--with-icon',\n isFlex && 'input--flex',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n {icon !== undefined && (\n <div\n className=\"input__icon\"\n style={{\n cursor:\n typeof onSlide === 'function' && !(isDisabled || isBlocked)\n ? 'ew-resize'\n : 'default',\n }}\n onMouseDown={() => {\n if (typeof onSlide === 'function' && !(isDisabled || isBlocked))\n this.onGrab()\n }}\n >\n <Icon\n type={icon?.type}\n iconName={icon?.value}\n iconLetter={icon?.value}\n />\n </div>\n )}\n <input\n role=\"spinbutton\"\n id={id}\n data-feature={feature}\n type=\"number\"\n className={doClassnames([\n 'input__field',\n isFlex && 'input__field--flex',\n unit !== undefined && 'input__field--unit',\n ])}\n value={inputValue}\n min={min}\n max={max}\n step={step}\n disabled={isDisabled || isBlocked}\n aria-label={`Number input${unit ? ` in ${unit}` : ''}${icon ? ` with ${icon.value} icon` : ''}`}\n aria-valuemin={min ? parseFloat(min) : undefined}\n aria-valuemax={max ? parseFloat(max) : undefined}\n aria-valuenow={parseFloat(inputValue)}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidNumber : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeNumber : undefined\n }\n onFocus={(e) => {\n e.target.select()\n if (!(isDisabled || isBlocked)) this.onFocus(e)\n }}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n />\n {unit !== undefined && (\n <div className=\"input__unit\">\n <Icon\n type={'LETTER'}\n iconLetter={unit}\n />\n </div>\n )}\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n Text = () => {\n const {\n id,\n icon,\n state,\n placeholder,\n charactersLimit,\n helper,\n feature,\n isClearable,\n isFlex,\n isFramed,\n isBlocked,\n isDisabled,\n onClear,\n } = this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--short-text',\n icon !== undefined && 'input--with-icon',\n isFlex && 'input__field--flex',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n {icon !== undefined && (\n <div className=\"input__icon\">\n <Icon\n type={icon?.type}\n iconName={icon?.value}\n iconLetter={icon?.value}\n />\n </div>\n )}\n <input\n role=\"textbox\"\n id={id}\n data-feature={feature}\n type=\"text\"\n className={doClassnames([\n 'input__field',\n !isFramed && 'input__field--no-frame',\n isClearable && inputValue.length > 0 && 'input__field--clearable',\n state === 'ERROR' && 'input__field--error',\n ])}\n placeholder={placeholder}\n value={inputValue}\n maxLength={charactersLimit}\n disabled={isDisabled || isBlocked}\n aria-label={placeholder || 'Text input'}\n aria-invalid={state === 'ERROR'}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidText : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={!(isDisabled || isBlocked) ? this.onFocus : undefined}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n ></input>\n {isClearable &&\n inputValue.length > 0 &&\n !(isDisabled || isBlocked) && (\n <div className=\"input__clear\">\n <Button\n type=\"icon\"\n size=\"small\"\n icon=\"close\"\n action={() => {\n this.setState({ inputValue: '' })\n if (onClear !== undefined) onClear('')\n }}\n />\n </div>\n )}\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n LongText = () => {\n const { id, state, placeholder, helper, feature, isBlocked, isDisabled } =\n this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--long-text',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <textarea\n role=\"textbox\"\n id={id}\n data-feature={feature}\n className={doClassnames([\n 'textarea',\n 'input__field',\n state === 'ERROR' && 'input__field--error',\n ])}\n rows={1}\n placeholder={placeholder}\n value={inputValue}\n disabled={isDisabled || isBlocked}\n aria-label={placeholder || 'Long text input'}\n aria-invalid={state === 'ERROR'}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidLongText : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={!(isDisabled || isBlocked) ? this.onFocus : undefined}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.textareaRef}\n />\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n CodeSnippet = () => {\n const { id, value, helper, feature, isBlocked, isDisabled } = this.props\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--code',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <textarea\n role=\"textbox\"\n id={id}\n data-feature={feature}\n className={doClassnames([\n 'textarea',\n 'input__field',\n 'textarea--monospace',\n ])}\n value={value}\n disabled={isDisabled || isBlocked}\n aria-label={'Code snippet'}\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={(e) => e.target.select()}\n onBlur={() => window.getSelection()?.removeAllRanges()}\n readOnly\n ref={this.textareaRef}\n />\n </div>\n {this.Status()}\n </div>\n )\n }\n\n // Render\n render() {\n const { type } = this.props\n\n if (type === 'NUMBER') return this.Number()\n if (type === 'COLOR') return this.Color()\n if (type === 'LONG_TEXT') return this.LongText()\n if (type === 'CODE') return this.CodeSnippet()\n return this.Text()\n }\n}\n"],"names":["Input","React","props","isGrowing","isAutoFocus","prevProps","value","e","onPick","onChange","onFocus","canBeEmpty","type","shouldPreventEvent","shouldBlur","onBlur","min","max","inputValue","lastValidValue","lastValidColorValue","isEmpty","transformedValue","syntheticEvent","onValid","target","step","onShift","nudge","v","onSlide","nMin","nMax","delta","event","colorCode","validChars","char","result","warning","preview","isBlocked","isNew","onUnblock","jsxs","jsx","IconChip","Chip","id","feature","helper","isDisabled","colorValue","isTooltipVisible","doClassnames","Tooltip","icon","unit","isFlex","Icon","state","placeholder","charactersLimit","isClearable","isFramed","onClear","Button"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/inputs/input/Input.tsx"],"sourcesContent":["import React from 'react'\nimport { doClassnames } from '@unoff/utils'\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 Button from '@components/actions/button/Button'\nimport type { IconList } from '@tps/icon.types'\nimport './input.scss'\n\nexport interface InputProps {\n /**\n * HTML id attribute\n */\n id?: string\n /**\n * Type of input\n */\n type: 'NUMBER' | 'COLOR' | 'TEXT' | 'LONG_TEXT' | 'CODE'\n /**\n * Icon configuration to display in the input\n */\n icon?: { type: 'LETTER' | 'PICTO'; value: IconList }\n /**\n * Unit suffix to display (% or °)\n */\n unit?: '%' | '°'\n /**\n * Visual state of the input\n * @default 'DEFAULT'\n */\n state?: 'DEFAULT' | 'ERROR'\n /**\n * Placeholder text\n */\n placeholder?: string\n /**\n * Current value of the input\n */\n value: string\n /**\n * Maximum number of characters allowed\n */\n charactersLimit?: number\n /**\n * Minimum value (for NUMBER type)\n */\n min?: string\n /**\n * Maximum value (for NUMBER type)\n */\n max?: string\n /**\n * Step value (for NUMBER type)\n */\n step?: 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 to blur the input after interaction\n */\n shouldBlur?: boolean\n /**\n * Whether to auto-focus on mount\n */\n isAutoFocus?: boolean\n /**\n * Whether the textarea should grow with content\n */\n isGrowing?: boolean\n /**\n * Whether to use flex layout\n */\n isFlex?: boolean\n /**\n * Whether to show a clear button\n */\n isClearable?: boolean\n /**\n * Whether to show a frame border\n */\n isFramed?: boolean\n /**\n * Whether the input can be empty\n */\n canBeEmpty?: boolean\n /**\n * Whether the input is blocked\n */\n isBlocked?: boolean\n /**\n * Whether the input is disabled\n */\n isDisabled?: boolean\n /**\n * Whether to show a \"New\" badge\n */\n isNew?: boolean\n /**\n * Change event handler\n */\n onChange?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Focus event handler\n */\n onFocus?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Blur event handler\n */\n onBlur?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Keyboard shift handler\n */\n onShift?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Clear button handler\n */\n onClear?: (value: string) => void\n /**\n * Slider change handler (for NUMBER type)\n */\n onSlide?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Validation handler\n */\n onValid?: React.KeyboardEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Color picker handler (for COLOR type)\n */\n onPick?: React.ChangeEventHandler<HTMLInputElement | HTMLTextAreaElement>\n /**\n * Handler called when unblock is clicked\n */\n onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler\n}\n\nexport interface InputState {\n inputValue: string\n lastValidValue: string\n lastValidColorValue: string\n colorValue: string\n isTooltipVisible: boolean\n}\n\nexport default class Input extends React.Component<InputProps, InputState> {\n inputRef: React.RefObject<HTMLInputElement>\n textareaRef: React.RefObject<HTMLTextAreaElement>\n\n static defaultProps: Partial<InputProps> = {\n icon: undefined,\n state: 'DEFAULT',\n step: '1',\n shouldBlur: false,\n isClearable: false,\n isFramed: true,\n canBeEmpty: true,\n isBlocked: false,\n isDisabled: false,\n isNew: false,\n isAutoFocus: false,\n isGrowing: false,\n isFlex: false,\n }\n\n constructor(props: InputProps) {\n super(props)\n this.state = {\n inputValue: props.value,\n lastValidValue: props.value,\n colorValue: props.value,\n lastValidColorValue: props.value,\n isTooltipVisible: false,\n }\n this.inputRef = React.createRef()\n this.textareaRef = React.createRef()\n }\n\n componentDidMount(): void {\n const { isGrowing } = this.props\n\n if (this.textareaRef.current) {\n this.textareaRef.current.style.height = 'auto'\n if (isGrowing)\n this.textareaRef.current.style.height = `${this.textareaRef.current.scrollHeight + 2}px`\n }\n const { isAutoFocus } = this.props\n if (isAutoFocus)\n setTimeout(() => {\n if (this.inputRef.current) this.inputRef.current.focus()\n else if (this.textareaRef.current) this.textareaRef.current.focus()\n }, 1)\n }\n\n componentDidUpdate(prevProps: InputProps) {\n const { value, isGrowing } = this.props\n\n if (prevProps.value !== value)\n this.setState({\n inputValue: value,\n colorValue: value,\n })\n\n if (prevProps.type === 'CODE' && this.textareaRef.current !== null)\n this.textareaRef.current.scrollTop = 0\n if (this.textareaRef.current) {\n this.textareaRef.current.style.height = 'auto'\n if (isGrowing)\n this.textareaRef.current.style.height = `${this.textareaRef.current.scrollHeight + 2}px`\n }\n }\n\n // Handlers\n onPickColorValue = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onPick } = this.props\n const value = e.target.value\n\n this.setState({\n inputValue: value,\n colorValue: value,\n lastValidColorValue: value,\n })\n if (onPick) onPick(e)\n }\n\n onChangeColorValue = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onChangeNumber = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onChangeText = (\n e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onChange } = this.props\n\n this.setState({\n inputValue: e.target.value,\n })\n if (onChange) onChange(e)\n }\n\n onFocus = (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { value, onFocus, canBeEmpty, type } = this.props\n\n const shouldPreventEvent =\n (type === 'TEXT' || type === 'LONG_TEXT') &&\n !canBeEmpty &&\n value.trim() === ''\n\n if (onFocus && !shouldPreventEvent) onFocus(e)\n }\n\n onBlur = (e: React.FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { shouldBlur, onBlur, canBeEmpty, type, min, max } = this.props\n const { inputValue, lastValidValue, lastValidColorValue } = this.state\n\n if (type === 'NUMBER') {\n const isEmpty = inputValue.trim() === ''\n let transformedValue\n\n if (parseFloat(inputValue) < parseFloat(min ?? '0'))\n transformedValue = min ?? '0'\n else if (parseFloat(inputValue) > parseFloat(max ?? '100'))\n transformedValue = max ?? '100'\n else if (isEmpty) {\n transformedValue = lastValidValue\n this.setState({\n inputValue: transformedValue,\n })\n } else transformedValue = inputValue\n\n this.setState({\n inputValue: transformedValue ?? inputValue,\n lastValidValue: transformedValue ?? inputValue,\n })\n\n if (\n (transformedValue !== lastValidValue && onBlur) ||\n (shouldBlur && onBlur)\n ) {\n const syntheticEvent = {\n ...e,\n target: {\n ...e.target,\n value: transformedValue,\n closest: e.target.closest?.bind(e.target),\n getAttribute: e.target.getAttribute?.bind(e.target),\n querySelector: e.target.querySelector?.bind(e.target),\n querySelectorAll: e.target.querySelectorAll?.bind(e.target),\n matches: e.target.matches?.bind(e.target),\n contains: e.target.contains?.bind(e.target),\n classList: e.target.classList,\n dataset: e.target.dataset,\n },\n currentTarget: {\n ...e.currentTarget,\n value: transformedValue,\n closest: e.currentTarget.closest?.bind(e.currentTarget),\n getAttribute: e.currentTarget.getAttribute?.bind(e.currentTarget),\n querySelector: e.currentTarget.querySelector?.bind(e.currentTarget),\n querySelectorAll: e.currentTarget.querySelectorAll?.bind(\n e.currentTarget\n ),\n matches: e.currentTarget.matches?.bind(e.currentTarget),\n contains: e.currentTarget.contains?.bind(e.currentTarget),\n classList: e.currentTarget.classList,\n dataset: e.currentTarget.dataset,\n },\n }\n\n onBlur(\n syntheticEvent as React.FocusEvent<\n HTMLInputElement | HTMLTextAreaElement\n >\n )\n\n return\n }\n }\n\n if (type === 'COLOR') {\n const transformedValue = this.transformColorCode(e.target.value)\n\n this.setState({\n inputValue: transformedValue,\n colorValue: transformedValue,\n lastValidColorValue: transformedValue,\n })\n\n if (\n (transformedValue !== lastValidColorValue && onBlur !== undefined) ||\n (shouldBlur && onBlur !== undefined)\n ) {\n const syntheticEvent = {\n ...e,\n target: {\n ...e.target,\n value: transformedValue,\n closest: e.target.closest?.bind(e.target),\n getAttribute: e.target.getAttribute?.bind(e.target),\n querySelector: e.target.querySelector?.bind(e.target),\n querySelectorAll: e.target.querySelectorAll?.bind(e.target),\n matches: e.target.matches?.bind(e.target),\n contains: e.target.contains?.bind(e.target),\n classList: e.target.classList,\n dataset: e.target.dataset,\n },\n currentTarget: {\n ...e.currentTarget,\n value: transformedValue,\n closest: e.currentTarget.closest?.bind(e.currentTarget),\n getAttribute: e.currentTarget.getAttribute?.bind(e.currentTarget),\n querySelector: e.currentTarget.querySelector?.bind(e.currentTarget),\n querySelectorAll: e.currentTarget.querySelectorAll?.bind(\n e.currentTarget\n ),\n matches: e.currentTarget.matches?.bind(e.currentTarget),\n contains: e.currentTarget.contains?.bind(e.currentTarget),\n classList: e.currentTarget.classList,\n dataset: e.currentTarget.dataset,\n },\n }\n\n onBlur(\n syntheticEvent as React.FocusEvent<\n HTMLInputElement | HTMLTextAreaElement\n >\n )\n\n return\n }\n }\n\n if (type === 'TEXT' || type === 'LONG_TEXT') {\n const isEmpty = inputValue.trim() === ''\n const shouldPreventEvent =\n (type === 'TEXT' || type === 'LONG_TEXT') && !canBeEmpty && isEmpty\n\n if (shouldPreventEvent) {\n this.setState({\n inputValue: lastValidValue,\n })\n return\n }\n\n this.setState({\n lastValidValue: inputValue,\n })\n\n if ((inputValue !== lastValidValue && onBlur) || (shouldBlur && onBlur)) {\n onBlur(e)\n\n return\n }\n }\n }\n\n // Direct Actions\n onValidText = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if (e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n onValidLongText = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if ((e.ctrlKey || e.metaKey) && e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n onValidNumber = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { min, max, step, onShift } = this.props\n const { inputValue } = this.state\n const target = e.target as HTMLInputElement\n\n let nudge = 0\n\n if (e.key === 'ArrowUp') {\n if (e.shiftKey) nudge = 9\n const v =\n parseFloat(inputValue) + nudge < parseFloat(max ?? '100')\n ? (\n parseFloat(inputValue) +\n nudge * parseFloat(step === undefined ? '1' : step)\n ).toString()\n : (max ?? '100')\n\n this.setState({\n inputValue: v,\n lastValidValue: v,\n })\n if (parseFloat(inputValue) + nudge < parseFloat(max ?? '100'))\n onShift?.(e)\n } else if (e.key === 'ArrowDown') {\n if (e.shiftKey) nudge = 9\n const v =\n parseFloat(inputValue) - nudge > parseFloat(min ?? '0')\n ? (\n parseFloat(inputValue) -\n nudge * parseFloat(step === undefined ? '1' : step)\n ).toString()\n : (min ?? '0')\n this.setState({\n inputValue: v,\n lastValidValue: v,\n })\n if (parseFloat(inputValue) - nudge > parseFloat(min ?? '0')) onShift?.(e)\n } else if (e.key === 'Enter' || e.key === 'Escape') {\n if (parseFloat(inputValue) < parseFloat(min ?? '0'))\n this.setState({\n inputValue: min ?? '0',\n })\n else if (parseFloat(inputValue) > parseFloat(max ?? '100'))\n this.setState({\n inputValue: max ?? '100',\n })\n\n target.blur()\n }\n }\n\n onValidColor = (\n e: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>\n ) => {\n const { onValid } = this.props\n const target = e.target as HTMLInputElement\n\n if (e.key === 'Enter') {\n if (onValid !== undefined) onValid(e)\n target.blur()\n } else if (e.key === 'Escape') target.blur()\n }\n\n doClear = () => this.setState({ inputValue: '' })\n\n onGrab = () => {\n if (this.inputRef.current) this.inputRef.current.focus()\n document.addEventListener('mousemove', this.onDrag)\n }\n\n onDrag = (e: MouseEvent) => {\n if (this.inputRef.current) this.inputRef.current.focus()\n const { min, max, onSlide } = this.props\n const { inputValue } = this.state\n\n const nMin = parseFloat(min ?? '0')\n const nMax = parseFloat(max ?? '100')\n const nValue = parseFloat(inputValue)\n const delta = nValue + e.movementX\n\n if (delta >= nMin && delta <= nMax) {\n this.setState({\n inputValue: delta.toString(),\n })\n if (this.inputRef.current) {\n const event = new Event('input', { bubbles: true })\n Object.defineProperty(event, 'target', {\n value: this.inputRef.current,\n enumerable: true,\n })\n Object.defineProperty(event, 'currentTarget', {\n value: this.inputRef.current,\n enumerable: true,\n })\n onSlide?.(event as unknown as React.ChangeEvent<HTMLInputElement>)\n }\n }\n\n document.body.style.setProperty('cursor', 'ew-resize', 'important')\n this.inputRef.current?.style.setProperty('cursor', 'ew-resize', 'important')\n document.addEventListener('mouseup', () => {\n document.removeEventListener('mousemove', this.onDrag)\n document.body.style.cursor = ''\n if (this.inputRef.current) this.inputRef.current.style.cursor = ''\n })\n }\n\n transformColorCode = (colorCode: string): string => {\n const { lastValidColorValue } = this.state\n\n const inputWithoutHash = colorCode.startsWith('#')\n ? colorCode.substring(1)\n : colorCode\n\n const validChars = inputWithoutHash\n .toLowerCase()\n .split('')\n .filter((char) => /[0-9a-f]/i.test(char))\n\n if (validChars.length === 0) return lastValidColorValue\n\n if (validChars.length >= 6) return `#${validChars.slice(0, 6).join('')}`\n\n let result = ''\n\n switch (validChars.length) {\n case 1:\n result = validChars[0].repeat(6)\n break\n\n case 2:\n result = `${validChars.join('')}`.repeat(3)\n break\n\n case 3:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n case 4:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n case 5:\n result = `${validChars[0]}${validChars[0]}${validChars[1]}${validChars[1]}${validChars[2]}${validChars[2]}`\n break\n\n default:\n result = validChars.slice(0, 6).join('')\n }\n\n result.indexOf('#') !== 0 && (result = `#${result}`)\n\n return result.toLowerCase()\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=\"input__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 Color = () => {\n const { id, feature, helper, isBlocked, isDisabled, onBlur } = this.props\n const { inputValue, colorValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--color',\n 'input--with-color',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <input\n id={id}\n data-feature={feature}\n type=\"color\"\n className=\"input__color\"\n value={colorValue}\n disabled={isDisabled || isBlocked}\n aria-label=\"Color picker\"\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onPickColorValue : undefined\n }\n onBlur={!(isDisabled || isBlocked) ? onBlur : undefined}\n ref={this.inputRef}\n />\n <input\n role=\"textbox\"\n id={id}\n data-feature={feature}\n type=\"text\"\n className=\"input__field\"\n value={inputValue.toUpperCase().replace('#', '')}\n maxLength={7}\n disabled={isDisabled || isBlocked}\n aria-label=\"Hex color code\"\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeColorValue : undefined\n }\n onFocus={(e) => {\n e.target.select()\n this.onFocus(e)\n }}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidColor : undefined\n }\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n />\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n Number = () => {\n const {\n id,\n icon,\n unit,\n min,\n max,\n step,\n helper,\n feature,\n isBlocked,\n isDisabled,\n isFlex,\n onSlide,\n } = this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--number',\n icon !== undefined && 'input--with-icon',\n isFlex && 'input--flex',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n {icon !== undefined && (\n <div\n className=\"input__icon\"\n style={{\n cursor:\n typeof onSlide === 'function' && !(isDisabled || isBlocked)\n ? 'ew-resize'\n : 'default',\n }}\n onMouseDown={() => {\n if (typeof onSlide === 'function' && !(isDisabled || isBlocked))\n this.onGrab()\n }}\n >\n <Icon\n type={icon?.type}\n iconName={icon?.value}\n iconLetter={icon?.value}\n />\n </div>\n )}\n <input\n role=\"spinbutton\"\n id={id}\n data-feature={feature}\n type=\"number\"\n className={doClassnames([\n 'input__field',\n isFlex && 'input__field--flex',\n unit !== undefined && 'input__field--unit',\n ])}\n value={inputValue}\n min={min}\n max={max}\n step={step}\n disabled={isDisabled || isBlocked}\n aria-label={`Number input${unit ? ` in ${unit}` : ''}${icon ? ` with ${icon.value} icon` : ''}`}\n aria-valuemin={min ? parseFloat(min) : undefined}\n aria-valuemax={max ? parseFloat(max) : undefined}\n aria-valuenow={parseFloat(inputValue)}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidNumber : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeNumber : undefined\n }\n onFocus={(e) => {\n e.target.select()\n if (!(isDisabled || isBlocked)) this.onFocus(e)\n }}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n />\n {unit !== undefined && (\n <div className=\"input__unit\">\n <Icon\n type={'LETTER'}\n iconLetter={unit}\n />\n </div>\n )}\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n Text = () => {\n const {\n id,\n icon,\n state,\n placeholder,\n charactersLimit,\n helper,\n feature,\n isClearable,\n isFlex,\n isFramed,\n isBlocked,\n isDisabled,\n onClear,\n } = this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--short-text',\n icon !== undefined && 'input--with-icon',\n isFlex && 'input__field--flex',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n {icon !== undefined && (\n <div className=\"input__icon\">\n <Icon\n type={icon?.type}\n iconName={icon?.value}\n iconLetter={icon?.value}\n />\n </div>\n )}\n <input\n role=\"textbox\"\n id={id}\n data-feature={feature}\n type=\"text\"\n className={doClassnames([\n 'input__field',\n !isFramed && 'input__field--no-frame',\n isClearable && inputValue.length > 0 && 'input__field--clearable',\n state === 'ERROR' && 'input__field--error',\n ])}\n placeholder={placeholder}\n value={inputValue}\n maxLength={charactersLimit}\n disabled={isDisabled || isBlocked}\n aria-label={placeholder || 'Text input'}\n aria-invalid={state === 'ERROR'}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidText : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={!(isDisabled || isBlocked) ? this.onFocus : undefined}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.inputRef}\n ></input>\n {isClearable &&\n inputValue.length > 0 &&\n !(isDisabled || isBlocked) && (\n <div className=\"input__clear\">\n <Button\n type=\"icon\"\n size=\"small\"\n icon=\"close\"\n action={() => {\n this.setState({ inputValue: '' })\n if (onClear !== undefined) onClear('')\n }}\n />\n </div>\n )}\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n LongText = () => {\n const { id, state, placeholder, helper, feature, isBlocked, isDisabled } =\n this.props\n const { inputValue, isTooltipVisible } = this.state\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--long-text',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <textarea\n role=\"textbox\"\n id={id}\n data-feature={feature}\n className={doClassnames([\n 'textarea',\n 'input__field',\n state === 'ERROR' && 'input__field--error',\n ])}\n rows={1}\n placeholder={placeholder}\n value={inputValue}\n disabled={isDisabled || isBlocked}\n aria-label={placeholder || 'Long text input'}\n aria-invalid={state === 'ERROR'}\n aria-disabled={isDisabled || isBlocked}\n onKeyDown={\n !(isDisabled || isBlocked) ? this.onValidLongText : undefined\n }\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={!(isDisabled || isBlocked) ? this.onFocus : undefined}\n onBlur={!(isDisabled || isBlocked) ? this.onBlur : undefined}\n ref={this.textareaRef}\n />\n {isTooltipVisible && helper !== undefined && (\n <Tooltip\n pin={helper?.pin || 'BOTTOM'}\n type={helper?.type || 'SINGLE_LINE'}\n >\n {helper?.label}\n </Tooltip>\n )}\n </div>\n {this.Status()}\n </div>\n )\n }\n\n CodeSnippet = () => {\n const { id, value, helper, feature, isBlocked, isDisabled } = this.props\n\n return (\n <div\n className={doClassnames([\n 'input',\n 'input--code',\n isBlocked && 'input--blocked',\n ])}\n role=\"group\"\n >\n <div\n className=\"input__wrapper\"\n onMouseEnter={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: true })\n }}\n onMouseLeave={() => {\n if (helper !== undefined) this.setState({ isTooltipVisible: false })\n }}\n >\n <textarea\n role=\"textbox\"\n id={id}\n data-feature={feature}\n className={doClassnames([\n 'textarea',\n 'input__field',\n 'textarea--monospace',\n ])}\n value={value}\n disabled={isDisabled || isBlocked}\n aria-label={'Code snippet'}\n aria-disabled={isDisabled || isBlocked}\n onChange={\n !(isDisabled || isBlocked) ? this.onChangeText : undefined\n }\n onFocus={(e) => e.target.select()}\n onBlur={() => window.getSelection()?.removeAllRanges()}\n readOnly\n ref={this.textareaRef}\n />\n </div>\n {this.Status()}\n </div>\n )\n }\n\n // Render\n render() {\n const { type } = this.props\n\n if (type === 'NUMBER') return this.Number()\n if (type === 'COLOR') return this.Color()\n if (type === 'LONG_TEXT') return this.LongText()\n if (type === 'CODE') return this.CodeSnippet()\n return this.Text()\n }\n}\n"],"names":["Input","React","props","isGrowing","isAutoFocus","prevProps","value","e","onPick","onChange","onFocus","canBeEmpty","type","shouldPreventEvent","shouldBlur","onBlur","min","max","inputValue","lastValidValue","lastValidColorValue","isEmpty","transformedValue","syntheticEvent","onValid","target","step","onShift","nudge","v","onSlide","nMin","nMax","delta","event","colorCode","validChars","char","result","warning","preview","isBlocked","isNew","onUnblock","jsxs","jsx","IconChip","Chip","id","feature","helper","isDisabled","colorValue","isTooltipVisible","doClassnames","Tooltip","icon","unit","isFlex","Icon","state","placeholder","charactersLimit","isClearable","isFramed","onClear","Button"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
-
2
1
  export interface InputsBarProps {
3
2
  /**
4
3
  * Optional label for the input bar
@@ -1 +1 @@
1
- {"version":3,"file":"InputsBar.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/inputs-bar/InputsBar.tsx"],"names":[],"mappings":";AAEA,OAAO,mBAAmB,CAAA;AAE1B,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,QAAA,MAAM,SAAS,UAAW,cAAc,4CASvC,CAAA;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"InputsBar.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/inputs-bar/InputsBar.tsx"],"names":[],"mappings":"AAEA,OAAO,mBAAmB,CAAA;AAE1B,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,QAAA,MAAM,SAAS,GAAI,OAAO,cAAc,4CASvC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1,11 +1,11 @@
1
1
  import '../../../assets/InputsBar.css';
2
2
  import { jsxs as i, jsx as t } from "react/jsx-runtime";
3
- import l from "../../../styles/texts/texts.module.js";
4
- import { t as m } from "../../../do-classnames-DSDFCvzy.js";
3
+ import { t as l } from "../../../do-classnames-DSDFCvzy.js";
4
+ import m from "../../../styles/texts/texts.module.js";
5
5
  const d = (a) => {
6
6
  const { label: s, customClassName: r, children: e } = a;
7
- return /* @__PURE__ */ i("div", { className: m(["inputs", r]), children: [
8
- s !== void 0 && /* @__PURE__ */ t("div", { className: l.label, children: s }),
7
+ return /* @__PURE__ */ i("div", { className: l(["inputs", r]), children: [
8
+ s !== void 0 && /* @__PURE__ */ t("div", { className: m.label, children: s }),
9
9
  /* @__PURE__ */ t("div", { className: "inputs__bar", children: e })
10
10
  ] });
11
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"InputsBar.js","sources":["../../../../src/components/inputs/inputs-bar/InputsBar.tsx"],"sourcesContent":["import texts from '@styles/texts/texts.module.scss'\nimport { doClassnames } from '@a_ng_d/figmug-utils'\nimport './inputs-bar.scss'\n\nexport interface InputsBarProps {\n /**\n * Optional label for the input bar\n */\n label?: string\n /**\n * Custom CSS class\n */\n customClassName?: string\n /**\n * Input components to display in the bar\n */\n children: React.ReactNode\n}\n\nconst InputsBar = (props: InputsBarProps) => {\n const { label, customClassName, children } = props\n\n return (\n <div className={doClassnames(['inputs', customClassName])}>\n {label !== undefined && <div className={texts.label}>{label}</div>}\n <div className=\"inputs__bar\">{children}</div>\n </div>\n )\n}\n\nexport default InputsBar\n"],"names":["InputsBar","props","label","customClassName","children","jsxs","doClassnames","jsx","texts"],"mappings":";;;AAmBA,MAAMA,IAAY,CAACC,MAA0B;AAC3C,QAAM,EAAE,OAAAC,GAAO,iBAAAC,GAAiB,UAAAC,EAAA,IAAaH;AAE7C,SACE,gBAAAI,EAAC,SAAI,WAAWC,EAAa,CAAC,UAAUH,CAAe,CAAC,GACrD,UAAA;AAAA,IAAAD,MAAU,UAAa,gBAAAK,EAAC,OAAA,EAAI,WAAWC,EAAM,OAAQ,UAAAN,GAAM;AAAA,IAC5D,gBAAAK,EAAC,OAAA,EAAI,WAAU,eAAe,UAAAH,EAAA,CAAS;AAAA,EAAA,GACzC;AAEJ;"}
1
+ {"version":3,"file":"InputsBar.js","sources":["../../../../src/components/inputs/inputs-bar/InputsBar.tsx"],"sourcesContent":["import { doClassnames } from '@unoff/utils'\nimport texts from '@styles/texts/texts.module.scss'\nimport './inputs-bar.scss'\n\nexport interface InputsBarProps {\n /**\n * Optional label for the input bar\n */\n label?: string\n /**\n * Custom CSS class\n */\n customClassName?: string\n /**\n * Input components to display in the bar\n */\n children: React.ReactNode\n}\n\nconst InputsBar = (props: InputsBarProps) => {\n const { label, customClassName, children } = props\n\n return (\n <div className={doClassnames(['inputs', customClassName])}>\n {label !== undefined && <div className={texts.label}>{label}</div>}\n <div className=\"inputs__bar\">{children}</div>\n </div>\n )\n}\n\nexport default InputsBar\n"],"names":["InputsBar","props","label","customClassName","children","jsxs","doClassnames","jsx","texts"],"mappings":";;;AAmBA,MAAMA,IAAY,CAACC,MAA0B;AAC3C,QAAM,EAAE,OAAAC,GAAO,iBAAAC,GAAiB,UAAAC,EAAA,IAAaH;AAE7C,SACE,gBAAAI,EAAC,SAAI,WAAWC,EAAa,CAAC,UAAUH,CAAe,CAAC,GACrD,UAAA;AAAA,IAAAD,MAAU,UAAa,gBAAAK,EAAC,OAAA,EAAI,WAAWC,EAAM,OAAQ,UAAAN,GAAM;AAAA,IAC5D,gBAAAK,EAAC,OAAA,EAAI,WAAU,eAAe,UAAAH,EAAA,CAAS;AAAA,EAAA,GACzC;AAEJ;"}
@@ -1,6 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { Easing } from '@a_ng_d/figmug-utils';
3
-
2
+ import { Easing } from '@unoff/utils';
4
3
  type UpdateEvent = 'TYPED' | 'UPDATING' | 'RELEASED' | 'SHIFTED';
5
4
  interface SliderProps {
6
5
  /**
@@ -40,12 +39,21 @@ interface SliderProps {
40
39
  /**
41
40
  * Colors for gradient display
42
41
  */
43
- colors: {
42
+ colors?: {
44
43
  /** Start color */
45
44
  min: string;
46
45
  /** End color */
47
46
  max: string;
48
47
  };
48
+ /**
49
+ * Whether to show a progress bar between the first and last stop
50
+ */
51
+ hasProgressBar?: boolean;
52
+ /**
53
+ * Whether to apply horizontal padding
54
+ * @default true
55
+ */
56
+ hasPadding?: boolean;
49
57
  /**
50
58
  * Tooltip configuration
51
59
  */
@@ -86,11 +94,11 @@ interface SliderProps {
86
94
  */
87
95
  onUnblock?: React.MouseEventHandler & React.KeyboardEventHandler;
88
96
  }
89
- interface SliderStates {
97
+ interface SliderState {
90
98
  isTooltipDisplay: Array<boolean>;
91
99
  activeKnobId: string | null;
92
100
  }
93
- export default class Slider extends React.Component<SliderProps, SliderStates> {
101
+ export default class Slider extends React.Component<SliderProps, SliderState> {
94
102
  static defaultProps: {
95
103
  scale: {};
96
104
  stops: {
@@ -98,24 +106,23 @@ export default class Slider extends React.Component<SliderProps, SliderStates> {
98
106
  min: number;
99
107
  max: number;
100
108
  };
101
- colors: {
102
- min: string;
103
- max: string;
104
- };
109
+ hasProgressBar: boolean;
110
+ hasPadding: boolean;
105
111
  isBlocked: boolean;
106
112
  isNew: boolean;
107
113
  };
108
114
  constructor(props: SliderProps);
109
115
  validHandler: (stopId: string, e: React.FocusEvent<HTMLInputElement> | React.KeyboardEvent<HTMLInputElement>) => void;
110
116
  onGrab: (e: React.MouseEvent<HTMLElement>) => void;
111
- onSlide: (e: MouseEvent, slider: HTMLElement, range: HTMLElement, stops: Array<HTMLElement>, stop: HTMLElement, shift: number, rangeWidth: number, update: (e: UpdateEvent) => void) => void;
117
+ onSlide: (e: MouseEvent, _: HTMLElement, range: HTMLElement, stops: Array<HTMLElement>, stop: HTMLElement, shift: number, rangeWidth: number, rangeRect: DOMRect, update: (e: UpdateEvent) => void) => void;
112
118
  onRelease: (stops: Array<HTMLElement>, stop: HTMLElement, update: (e: UpdateEvent) => void) => void;
113
119
  onAdd: (e: React.MouseEvent<HTMLDivElement>) => void;
114
120
  onDelete: (knob: HTMLElement) => void;
115
- onShiftRight: (knob: HTMLElement, isMeta: boolean, isCtrl: boolean) => void;
116
- onShiftLeft: (knob: HTMLElement, isMeta: boolean, isCtrl: boolean) => void;
121
+ onShiftRight: (knob: HTMLElement, isShift: boolean) => void;
122
+ onShiftLeft: (knob: HTMLElement, isShift: boolean) => void;
117
123
  distributeStops: (type: string, value: number, stops: Array<HTMLElement>) => void;
118
124
  linkStops: (value: number, src: HTMLElement, stops: Array<HTMLElement>) => void;
125
+ Progress: () => import("react/jsx-runtime").JSX.Element | null;
119
126
  Status: () => import("react/jsx-runtime").JSX.Element | undefined;
120
127
  Edit: () => import("react/jsx-runtime").JSX.Element;
121
128
  FullyEdit: () => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleSlider.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiple-slider/MultipleSlider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultipleSlider.d.ts","sourceRoot":"","sources":["../../../../src/components/inputs/multiple-slider/MultipleSlider.tsx"],"names":[],"mappings":"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"}