no-frills-ui 0.0.14-alpha.7 → 0.0.14-rc.0

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 (165) hide show
  1. package/README.md +2 -3
  2. package/dist/index.js +926 -795
  3. package/dist/index.js.map +1 -1
  4. package/lib-esm/components/Accordion/Accordion.d.ts +9 -13
  5. package/lib-esm/components/Accordion/Accordion.js +4 -10
  6. package/lib-esm/components/Accordion/Accordion.js.map +1 -0
  7. package/lib-esm/components/Accordion/AccordionStep.d.ts +22 -22
  8. package/lib-esm/components/Accordion/AccordionStep.js +41 -35
  9. package/lib-esm/components/Accordion/AccordionStep.js.map +1 -0
  10. package/lib-esm/components/Badge/Badge.d.ts +13 -16
  11. package/lib-esm/components/Badge/Badge.js +12 -21
  12. package/lib-esm/components/Badge/Badge.js.map +1 -0
  13. package/lib-esm/components/Button/ActionButton.d.ts +9 -5
  14. package/lib-esm/components/Button/ActionButton.js +20 -4
  15. package/lib-esm/components/Button/ActionButton.js.map +1 -0
  16. package/lib-esm/components/Button/Button.d.ts +9 -5
  17. package/lib-esm/components/Button/Button.js +19 -6
  18. package/lib-esm/components/Button/Button.js.map +1 -0
  19. package/lib-esm/components/Button/IconButton.d.ts +9 -5
  20. package/lib-esm/components/Button/IconButton.js +20 -4
  21. package/lib-esm/components/Button/IconButton.js.map +1 -0
  22. package/lib-esm/components/Button/LinkButton.d.ts +9 -5
  23. package/lib-esm/components/Button/LinkButton.js +20 -4
  24. package/lib-esm/components/Button/LinkButton.js.map +1 -0
  25. package/lib-esm/components/Button/RaisedButton.d.ts +9 -5
  26. package/lib-esm/components/Button/RaisedButton.js +20 -4
  27. package/lib-esm/components/Button/RaisedButton.js.map +1 -0
  28. package/lib-esm/components/Card/Card.d.ts +4 -6
  29. package/lib-esm/components/Card/Card.js +18 -4
  30. package/lib-esm/components/Card/Card.js.map +1 -0
  31. package/lib-esm/components/Chip/Chip.d.ts +2 -2
  32. package/lib-esm/components/Chip/Chip.js +17 -10
  33. package/lib-esm/components/Chip/Chip.js.map +1 -0
  34. package/lib-esm/components/ChipInput/ChipInput.d.ts +28 -39
  35. package/lib-esm/components/ChipInput/ChipInput.js +39 -39
  36. package/lib-esm/components/ChipInput/ChipInput.js.map +1 -0
  37. package/lib-esm/components/Dialog/AlertDialog.d.ts +11 -12
  38. package/lib-esm/components/Dialog/AlertDialog.js +5 -11
  39. package/lib-esm/components/Dialog/AlertDialog.js.map +1 -0
  40. package/lib-esm/components/Dialog/ConfirmDialog.d.ts +13 -14
  41. package/lib-esm/components/Dialog/ConfirmDialog.js +5 -12
  42. package/lib-esm/components/Dialog/ConfirmDialog.js.map +1 -0
  43. package/lib-esm/components/Dialog/Dialog.d.ts +8 -14
  44. package/lib-esm/components/Dialog/Dialog.js +13 -10
  45. package/lib-esm/components/Dialog/Dialog.js.map +1 -0
  46. package/lib-esm/components/Dialog/PromptDialog.d.ts +18 -19
  47. package/lib-esm/components/Dialog/PromptDialog.js +14 -21
  48. package/lib-esm/components/Dialog/PromptDialog.js.map +1 -0
  49. package/lib-esm/components/DragAndDrop/DragAndDrop.d.ts +37 -59
  50. package/lib-esm/components/DragAndDrop/DragAndDrop.js +26 -28
  51. package/lib-esm/components/DragAndDrop/DragAndDrop.js.map +1 -0
  52. package/lib-esm/components/DragAndDrop/DragItem.d.ts +2 -2
  53. package/lib-esm/components/DragAndDrop/DragItem.js +43 -40
  54. package/lib-esm/components/DragAndDrop/DragItem.js.map +1 -0
  55. package/lib-esm/components/DragAndDrop/types.d.ts +3 -3
  56. package/lib-esm/components/DragAndDrop/types.js +1 -0
  57. package/lib-esm/components/DragAndDrop/types.js.map +1 -0
  58. package/lib-esm/components/Drawer/Drawer.d.ts +24 -31
  59. package/lib-esm/components/Drawer/Drawer.js +50 -45
  60. package/lib-esm/components/Drawer/Drawer.js.map +1 -0
  61. package/lib-esm/components/Groups/Group.d.ts +6 -8
  62. package/lib-esm/components/Groups/Group.js +15 -12
  63. package/lib-esm/components/Groups/Group.js.map +1 -0
  64. package/lib-esm/components/Groups/GroupLabel.js +2 -1
  65. package/lib-esm/components/Groups/GroupLabel.js.map +1 -0
  66. package/lib-esm/components/Input/Checkbox.d.ts +12 -15
  67. package/lib-esm/components/Input/Checkbox.js +34 -29
  68. package/lib-esm/components/Input/Checkbox.js.map +1 -0
  69. package/lib-esm/components/Input/Dropdown.d.ts +8 -18
  70. package/lib-esm/components/Input/Dropdown.js +44 -18
  71. package/lib-esm/components/Input/Dropdown.js.map +1 -0
  72. package/lib-esm/components/Input/Input.d.ts +8 -3
  73. package/lib-esm/components/Input/Input.js +24 -22
  74. package/lib-esm/components/Input/Input.js.map +1 -0
  75. package/lib-esm/components/Input/Radio.d.ts +4 -8
  76. package/lib-esm/components/Input/Radio.js +20 -16
  77. package/lib-esm/components/Input/Radio.js.map +1 -0
  78. package/lib-esm/components/Input/RadioButton.d.ts +4 -8
  79. package/lib-esm/components/Input/RadioButton.js +19 -15
  80. package/lib-esm/components/Input/RadioButton.js.map +1 -0
  81. package/lib-esm/components/Input/Select.d.ts +6 -13
  82. package/lib-esm/components/Input/Select.js +26 -22
  83. package/lib-esm/components/Input/Select.js.map +1 -0
  84. package/lib-esm/components/Input/TextArea.d.ts +6 -13
  85. package/lib-esm/components/Input/TextArea.js +33 -27
  86. package/lib-esm/components/Input/TextArea.js.map +1 -0
  87. package/lib-esm/components/Input/Toggle.d.ts +4 -9
  88. package/lib-esm/components/Input/Toggle.js +15 -12
  89. package/lib-esm/components/Input/Toggle.js.map +1 -0
  90. package/lib-esm/components/Menu/Menu.d.ts +4 -14
  91. package/lib-esm/components/Menu/Menu.js +26 -17
  92. package/lib-esm/components/Menu/Menu.js.map +1 -0
  93. package/lib-esm/components/Menu/MenuContext.d.ts +4 -4
  94. package/lib-esm/components/Menu/MenuContext.js +2 -0
  95. package/lib-esm/components/Menu/MenuContext.js.map +1 -0
  96. package/lib-esm/components/Menu/MenuItem.d.ts +10 -4
  97. package/lib-esm/components/Menu/MenuItem.js +21 -6
  98. package/lib-esm/components/Menu/MenuItem.js.map +1 -0
  99. package/lib-esm/components/Modal/Modal.d.ts +17 -23
  100. package/lib-esm/components/Modal/Modal.js +38 -34
  101. package/lib-esm/components/Modal/Modal.js.map +1 -0
  102. package/lib-esm/components/Notification/Notification.d.ts +39 -34
  103. package/lib-esm/components/Notification/Notification.js +17 -39
  104. package/lib-esm/components/Notification/Notification.js.map +1 -0
  105. package/lib-esm/components/Notification/NotificationManager.d.ts +4 -4
  106. package/lib-esm/components/Notification/NotificationManager.js +19 -14
  107. package/lib-esm/components/Notification/NotificationManager.js.map +1 -0
  108. package/lib-esm/components/Notification/index.d.ts +1 -0
  109. package/lib-esm/components/Notification/style.d.ts +2 -3
  110. package/lib-esm/components/Notification/style.js +21 -20
  111. package/lib-esm/components/Notification/style.js.map +1 -0
  112. package/lib-esm/components/Notification/types.js +1 -0
  113. package/lib-esm/components/Notification/types.js.map +1 -0
  114. package/lib-esm/components/Popover/Popover.d.ts +21 -20
  115. package/lib-esm/components/Popover/Popover.js +44 -45
  116. package/lib-esm/components/Popover/Popover.js.map +1 -0
  117. package/lib-esm/components/Spinner/Spinner.d.ts +14 -15
  118. package/lib-esm/components/Spinner/Spinner.js +14 -14
  119. package/lib-esm/components/Spinner/Spinner.js.map +1 -0
  120. package/lib-esm/components/Stepper/Step.d.ts +15 -12
  121. package/lib-esm/components/Stepper/Step.js +12 -9
  122. package/lib-esm/components/Stepper/Step.js.map +1 -0
  123. package/lib-esm/components/Stepper/Stepper.d.ts +11 -17
  124. package/lib-esm/components/Stepper/Stepper.js +30 -27
  125. package/lib-esm/components/Stepper/Stepper.js.map +1 -0
  126. package/lib-esm/components/Tabs/Tab.d.ts +10 -16
  127. package/lib-esm/components/Tabs/Tab.js +1 -8
  128. package/lib-esm/components/Tabs/Tab.js.map +1 -0
  129. package/lib-esm/components/Tabs/Tabs.d.ts +11 -22
  130. package/lib-esm/components/Tabs/Tabs.js +43 -34
  131. package/lib-esm/components/Tabs/Tabs.js.map +1 -0
  132. package/lib-esm/components/Toast/Toast.d.ts +7 -7
  133. package/lib-esm/components/Toast/Toast.js +17 -15
  134. package/lib-esm/components/Toast/Toast.js.map +1 -0
  135. package/lib-esm/components/Toast/ToastStory.d.ts +21 -24
  136. package/lib-esm/components/Tooltip/Tooltip.d.ts +11 -14
  137. package/lib-esm/components/Tooltip/Tooltip.js +14 -23
  138. package/lib-esm/components/Tooltip/Tooltip.js.map +1 -0
  139. package/lib-esm/icons/CheckCircle.js +3 -2
  140. package/lib-esm/icons/CheckCircle.js.map +1 -0
  141. package/lib-esm/icons/Close.js +1 -0
  142. package/lib-esm/icons/Close.js.map +1 -0
  143. package/lib-esm/icons/DragIndicator.js +1 -0
  144. package/lib-esm/icons/DragIndicator.js.map +1 -0
  145. package/lib-esm/icons/ErrorOutline.js +3 -2
  146. package/lib-esm/icons/ErrorOutline.js.map +1 -0
  147. package/lib-esm/icons/ExpandMore.js +1 -0
  148. package/lib-esm/icons/ExpandMore.js.map +1 -0
  149. package/lib-esm/icons/FiberManualRecord.js +1 -0
  150. package/lib-esm/icons/FiberManualRecord.js.map +1 -0
  151. package/lib-esm/icons/Info.js +3 -2
  152. package/lib-esm/icons/Info.js.map +1 -0
  153. package/lib-esm/icons/ReportProblem.js +3 -2
  154. package/lib-esm/icons/ReportProblem.js.map +1 -0
  155. package/lib-esm/index.js +43 -0
  156. package/lib-esm/index.js.map +1 -0
  157. package/lib-esm/shared/LayerManager.d.ts +5 -4
  158. package/lib-esm/shared/LayerManager.js +125 -112
  159. package/lib-esm/shared/LayerManager.js.map +1 -0
  160. package/lib-esm/shared/constants.js +1 -0
  161. package/lib-esm/shared/constants.js.map +1 -0
  162. package/lib-esm/shared/styles.js +9 -8
  163. package/lib-esm/shared/styles.js.map +1 -0
  164. package/package.json +66 -31
  165. package/lib-esm/components/index.js +0 -42
@@ -1,6 +1,5 @@
1
1
  import { jsx } from '@emotion/react/jsx-runtime';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import styled from '@emotion/styled';
5
4
  import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
6
5
  import LayerManager, { LAYER_POSITION } from '../../shared/LayerManager.js';
@@ -11,7 +10,7 @@ var DRAWER_POSITION = /*#__PURE__*/ function(DRAWER_POSITION) {
11
10
  DRAWER_POSITION["BOTTOM"] = "BOTTOM";
12
11
  return DRAWER_POSITION;
13
12
  }({});
14
- const positionStyle = (size)=>({
13
+ const positionStyle$1 = (size)=>({
15
14
  ["LEFT"]: {
16
15
  before: `height: 100vh; min-width: ${size || '300px'}; transform: translateX(-100%);`,
17
16
  after: 'transform: translateX(0%);'
@@ -33,23 +32,10 @@ const positionStyle = (size)=>({
33
32
  }
34
33
  });
35
34
  const DrawerDiv = /*#__PURE__*/ styled("div", {
36
- target: "ehe19t90",
35
+ target: "e1topccf0",
37
36
  label: "DrawerDiv"
38
- })("display:flex;flex-direction:column;background-color:", getThemeValue(THEME_NAME.BACKGROUND), ";transition:transform 0.3s ease;box-shadow:", getThemeValue(THEME_NAME.MODAL_SHADOW), ";", (props)=>positionStyle(props.size)[props.position].before, " .nf-layer-enter &{transform:translateX(0%);", (props)=>positionStyle(props.size)[props.position].after, "}", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9EcmF3ZXIvRHJhd2VyLnRzeCIsInNvdXJjZXMiOlsiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9EcmF3ZXIvRHJhd2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGdldFRoZW1lVmFsdWUsIFRIRU1FX05BTUUgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzJztcbmltcG9ydCBMYXllck1hbmFnZXIsIHsgTEFZRVJfUE9TSVRJT04gfSBmcm9tICcuLi8uLi9zaGFyZWQvTGF5ZXJNYW5hZ2VyJztcblxuZXhwb3J0IHtcbiAgICBIZWFkZXIgYXMgRHJhd2VySGVhZGVyLFxuICAgIEJvZHkgYXMgRHJhd2VyQm9keSxcbiAgICBGb290ZXIgYXMgRHJhd2VyRm9vdGVyLFxufSBmcm9tICcuLi8uLi9zaGFyZWQvc3R5bGVzJztcblxuZXhwb3J0IGVudW0gRFJBV0VSX1BPU0lUSU9OIHtcbiAgICBMRUZUID0gJ0xFRlQnLFxuICAgIFJJR0hUID0gJ1JJR0hUJyxcbiAgICBCT1RUT00gPSAnQk9UVE9NJyxcbn1cblxuY29uc3QgcG9zaXRpb25TdHlsZSA9IChzaXplOiBzdHJpbmcpID0+ICh7XG4gICAgW0RSQVdFUl9QT1NJVElPTi5MRUZUXToge1xuICAgICAgICBiZWZvcmU6IGBoZWlnaHQ6IDEwMHZoOyBtaW4td2lkdGg6ICR7c2l6ZSB8fCAnMzAwcHgnfTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtgLFxuICAgICAgICBhZnRlcjogJ3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7JyxcbiAgICB9LFxuICAgIFtEUkFXRVJfUE9TSVRJT04uUklHSFRdOiB7XG4gICAgICAgIGJlZm9yZTogYGhlaWdodDogMTAwdmg7IG1pbi13aWR0aDogJHtzaXplIHx8ICczMDBweCd9OyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7YCxcbiAgICAgICAgYWZ0ZXI6ICd0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOycsXG4gICAgfSxcbiAgICBbRFJBV0VSX1BPU0lUSU9OLkJPVFRPTV06IHtcbiAgICAgICAgYmVmb3JlOiBgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJHtzaXplIHx8ICc5MHZoJ307XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4IDE1cHggMCAwOyBcbiAgICAgICAgYCxcbiAgICAgICAgYWZ0ZXI6ICd0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOycsXG4gICAgfSxcbn0pO1xuXG5jb25zdCBEcmF3ZXJEaXYgPSBzdHlsZWQuZGl2PHsgcG9zaXRpb246IERSQVdFUl9QT1NJVElPTjsgc2l6ZTogc3RyaW5nIH0+YFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5CQUNLR1JPVU5EKX07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICBib3gtc2hhZG93OiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5NT0RBTF9TSEFET1cpfTtcbiAgICAkeyhwcm9wcykgPT4gcG9zaXRpb25TdHlsZShwcm9wcy5zaXplKVtwcm9wcy5wb3NpdGlvbl0uYmVmb3JlfVxuXG4gICAgLm5mLWxheWVyLWVudGVyICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgICAkeyhwcm9wcykgPT4gcG9zaXRpb25TdHlsZShwcm9wcy5zaXplKVtwcm9wcy5wb3NpdGlvbl0uYWZ0ZXJ9XG4gICAgfVxuYDtcblxuY29uc3QgZHJhd2VyUHJvcFR5cGVzID0ge1xuICAgIC8qKiBPcGVucyB0aGUgZHJhd2VyICovXG4gICAgb3BlbjogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICAvKiogcG9zaXRpb24gb2YgdGhlIGRyYXdlciAqL1xuICAgIHBvc2l0aW9uOiBQcm9wVHlwZXMub25lT2YoW1xuICAgICAgICBEUkFXRVJfUE9TSVRJT04uTEVGVCxcbiAgICAgICAgRFJBV0VSX1BPU0lUSU9OLlJJR0hULFxuICAgICAgICBEUkFXRVJfUE9TSVRJT04uQk9UVE9NLFxuICAgIF0pLFxuICAgIC8qKiBzaXplIG9mIHRoZSBkcmF3ZXIgKi9cbiAgICBzaXplOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIC8qKiBTaG93cyBhbiBvdmVybGF5IGJlaGluZCB0aGUgZHJhd2VyLiAqL1xuICAgIG92ZXJsYXk6IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKiBDbG9zZXMgdGhlIGRyYXdlciBvbiBlc2MgKi9cbiAgICBjbG9zZU9uRXNjOiBQcm9wVHlwZXMuYm9vbCxcbiAgICAvKiogQ2xvc2VzIHRoZSBkcmF3ZXIgb24gb3ZlcmxheSBjbGljayAqL1xuICAgIGNsb3NlT25PdmVybGF5Q2xpY2s6IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKiBDYWxsIGJhY2sgZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGRyYXdlciBjbG9zZXMuICovXG4gICAgb25DbG9zZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG50eXBlIERyYXdlclByb3BzID0gUHJvcFR5cGVzLkluZmVyUHJvcHM8dHlwZW9mIGRyYXdlclByb3BUeXBlcz47XG5cbmludGVyZmFjZSBEcmF3ZXJTdGF0ZSB7XG4gICAgb3BlbjogYm9vbGVhbjtcbn1cblxuY29uc3QgcG9zaXRpb25NYXAgPSB7XG4gICAgW0RSQVdFUl9QT1NJVElPTi5MRUZUXTogTEFZRVJfUE9TSVRJT04uVE9QX0xFRlQsXG4gICAgW0RSQVdFUl9QT1NJVElPTi5SSUdIVF06IExBWUVSX1BPU0lUSU9OLlRPUF9SSUdIVCxcbiAgICBbRFJBV0VSX1BPU0lUSU9OLkJPVFRPTV06IExBWUVSX1BPU0lUSU9OLkJPVFRPTV9MRUZULFxufTtcblxuLyoqXG4gKiBEcmF3ZXIgY29tcG9uZW50XG4gKlxuICogQSBwYW5lbCB0aGF0IHNsaWRlcyBpbiBmcm9tIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uXG4gKiBJdCBzaXRzIG9uIHRvcCBvZiB0aGUgYXBwbGljYXRpb24gY29udGVudCBhbmQgaXMgb2Z0ZW4gdXNlZCBmb3IgbmF2aWdhdGlvbiBvciBkZXRhaWxzLlxuICpcbiAqIEFjY2Vzc2liaWxpdHk6XG4gKiAtIEltcGxlbWVudHMgQVJJQSBgcm9sZT1cImRpYWxvZ1wiYCBhbmQgYGFyaWEtbW9kYWw9XCJ0cnVlXCJgLlxuICogLSBUcmFwcyBmb2N1cyBlZmZlY3RpdmVseSB3aXRoaW4gdGhlIGRyYXdlciB3aGlsZSBvcGVuLlxuICogLSBSZXN0b3JlcyBmb2N1cyB0byB0aGUgdHJpZ2dlcmluZyBlbGVtZW50IHVwb24gY2xvc3VyZS5cbiAqIC0gU3VwcG9ydHMgY2xvc2luZyB2aWEgRVNDIGtleSBhbmQgb3ZlcmxheSBjbGljay5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJhd2VyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFxuICAgIFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPERyYXdlclByb3BzPixcbiAgICBEcmF3ZXJTdGF0ZVxuPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICAgIG9wZW46IGZhbHNlLFxuICAgIH07XG5cbiAgICBzdGF0aWMgcHJvcFR5cGVzID0gZHJhd2VyUHJvcFR5cGVzO1xuXG4gICAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICAgICAgb3ZlcmxheTogdHJ1ZSxcbiAgICAgICAgcG9zaXRpb246IERSQVdFUl9QT1NJVElPTi5MRUZULFxuICAgICAgICBjbG9zZU9uRXNjOiB0cnVlLFxuICAgICAgICBjbG9zZU9uT3ZlcmxheUNsaWNrOiB0cnVlLFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBTeW5jcyBzdGF0ZSB3aXRoIHByb3BzLlxuICAgICAqL1xuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHM6IERyYXdlclByb3BzKSB7XG4gICAgICAgIGlmIChwcm9wcy5vcGVuKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgbGF5ZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyTWFuYWdlci5yZW5kZXJMYXllcj47XG5cbiAgICBwcml2YXRlIGNsb3NlQ2FsbGJhY2s6IChyZXNwPzogdW5rbm93bikgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIEludGVybmFsIGNsb3NlIGhhbmRsZXIuXG4gICAgICogUmVzdG9yZXMgZm9jdXMgYW5kIGNhbGxzIHRoZSBleHRlcm5hbCBvbkNsb3NlIGNhbGxiYWNrLlxuICAgICAqL1xuICAgIHByaXZhdGUgb25DbG9zZSA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5yZXN0b3JlRm9jdXMoKTtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICBvcGVuOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMucHJvcHMub25DbG9zZT8uKCk7XG4gICAgICAgIHRoaXMuY2xvc2VDYWxsYmFjayA9IG51bGw7XG4gICAgICAgIHRoaXMubGF5ZXIgPSBudWxsO1xuICAgIH07XG5cbiAgICBwcml2YXRlIGxhc3RGb2N1c2VkRWxlbWVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIGRyYXdlclJlZiA9IFJlYWN0LmNyZWF0ZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbGwgZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGhpbiB0aGUgZHJhd2VyLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2V0Rm9jdXNhYmxlRWxlbWVudHMgPSAoKTogSFRNTEVsZW1lbnRbXSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5kcmF3ZXJSZWYuY3VycmVudCkgcmV0dXJuIFtdO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMuZHJhd2VyUmVmLmN1cnJlbnQucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICAnYnV0dG9uLCBbaHJlZl0sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9XCItMVwiXSknLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSBhcyBIVE1MRWxlbWVudFtdO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBIYW5kbGVzIGtleWRvd24gZXZlbnRzIHRvIGltcGxlbWVudCB0aGUgZm9jdXMgdHJhcC5cbiAgICAgKiBUcmFwcyBUYWIgYW5kIFNoaWZ0K1RhYiB3aXRoaW4gdGhlIGRyYXdlci5cbiAgICAgKi9cbiAgICBwcml2YXRlIGhhbmRsZUtleURvd24gPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZS5rZXkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMuZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgICAgIGlmIChmb2N1c2FibGVFbGVtZW50cy5sZW5ndGggPT09IDApIHJldHVybjtcblxuICAgICAgICAgICAgY29uc3QgZmlyc3RFbGVtZW50ID0gZm9jdXNhYmxlRWxlbWVudHNbMF07XG4gICAgICAgICAgICBjb25zdCBsYXN0RWxlbWVudCA9IGZvY3VzYWJsZUVsZW1lbnRzW2ZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgICBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmaXJzdEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgbGFzdEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGxhc3RFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGZpcnN0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIExpZmVjeWNsZSBtZXRob2QgdG8gc2F2ZSB0aGUgY3VycmVudGx5IGZvY3VzZWQgZWxlbWVudCB3aGVuIHRoZSBkcmF3ZXIgbW91bnRzIHdoaWxlIG9wZW4uXG4gICAgICovXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZvY3VzZWRFbGVtZW50ID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpZmVjeWNsZSBtZXRob2QgdG8gcmVzdG9yZSBmb2N1cyB3aGVuIHRoZSBkcmF3ZXIgdW5tb3VudHMuXG4gICAgICovXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9wZW4pIHtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXN0b3JlcyBmb2N1cyB0byB0aGUgZWxlbWVudCB0aGF0IHdhcyBmb2N1c2VkIGJlZm9yZSB0aGUgZHJhd2VyIG9wZW5lZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlc3RvcmVGb2N1cyA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubGFzdEZvY3VzZWRFbGVtZW50KSB7XG4gICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgZWxlbWVudCBpcyBzdGlsbCBpbiB0aGUgZG9jdW1lbnRcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb0JlRm9jdXNlZCA9IHRoaXMubGFzdEZvY3VzZWRFbGVtZW50O1xuICAgICAgICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnMoZWxlbWVudFRvQmVGb2N1c2VkKSkge1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50VG9CZUZvY3VzZWQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIENhbGxiYWNrIHJlZiB0byBjYXB0dXJlIHRoZSBEcmF3ZXIgRE9NIGVsZW1lbnQuXG4gICAgICogVHJpZ2dlcnMgaW5pdGlhbCBmb2N1cyBzZXR0aW5nIHdoZW4gdGhlIGVsZW1lbnQgbW91bnRzLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0RHJhd2VyUmVmID0gKG5vZGU6IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4ge1xuICAgICAgICAvLyBVcGRhdGUgcmVmXG4gICAgICAgICh0aGlzLmRyYXdlclJlZiBhcyBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4pLmN1cnJlbnQgPSBub2RlO1xuXG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgICAvLyBTZXQgaW5pdGlhbCBmb2N1cyB3aGVuIHRoZSBub2RlIGlzIG1vdW50ZWRcbiAgICAgICAgICAgIHRoaXMuc2V0SW5pdGlhbEZvY3VzKG5vZGUpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFNldHMgaW5pdGlhbCBmb2N1cyB3aXRoaW4gdGhlIGRyYXdlci5cbiAgICAgKiBUcmllcyB0byBmb2N1cyB0aGUgaGVhZGVyIGZpcnN0LCB0aGVuIHRoZSBmaXJzdCBpbnRlcmFjdGl2ZSBlbGVtZW50LCBvciBmYWxscyBiYWNrIHRvIHRoZSBjb250YWluZXIuXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXRJbml0aWFsRm9jdXMgPSAocm9vdDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgLy8gVHJ5IHRvIGZpbmQgdGhlIGhlYWRlciAoYXNzdW1lZCB0byBiZSB0aGUgZmlyc3QgY2hpbGQpXG4gICAgICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSByb290LmZpcnN0RWxlbWVudENoaWxkIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoZmlyc3RDaGlsZCkge1xuICAgICAgICAgICAgLy8gRW5zdXJlIGl0J3MgZm9jdXNhYmxlXG4gICAgICAgICAgICBpZiAoZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JykgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBmaXJzdENoaWxkLnNldEF0dHJpYnV0ZSgndGFiaW5kZXgnLCAnLTEnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpcnN0Q2hpbGQuZm9jdXMoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZhbGxiYWNrIHRvIGZvY3VzYWJsZSBlbGVtZW50c1xuICAgICAgICBjb25zdCBmb2N1c2FibGVFbGVtZW50cyA9IHRoaXMuZ2V0Rm9jdXNhYmxlRWxlbWVudHMoKTtcbiAgICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZvY3VzYWJsZUVsZW1lbnRzWzBdLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBGYWxsYmFjayB0byBjb250YWluZXJcbiAgICAgICAgICAgIHJvb3QuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBMaWZlY3ljbGUgbWV0aG9kIHRvIGhhbmRsZSBEcmF3ZXIgdXBkYXRlcy5cbiAgICAgKiBNYW5hZ2VzIG9wZW5pbmcvY2xvc2luZyBsb2dpYyB2aWEgTGF5ZXJNYW5hZ2VyIGFuZCBmb2N1cyBwcmVzZXJ2YXRpb24uXG4gICAgICovXG4gICAgZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUocHJldlByb3BzOiBEcmF3ZXJQcm9wcykge1xuICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICBvcGVuLFxuICAgICAgICAgICAgY2xvc2VPbkVzYyxcbiAgICAgICAgICAgIGNsb3NlT25PdmVybGF5Q2xpY2ssXG4gICAgICAgICAgICBvdmVybGF5LFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICAuLi5yZXN0XG4gICAgICAgIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICAgIGlmIChwcmV2UHJvcHMub3BlbiAmJiAhb3Blbikge1xuICAgICAgICAgICAgdGhpcy5jbG9zZUNhbGxiYWNrPy4oKTtcbiAgICAgICAgICAgIHRoaXMucmVzdG9yZUZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXByZXZQcm9wcy5vcGVuICYmIG9wZW4pIHtcbiAgICAgICAgICAgIC8vIFNhdmUgY3VycmVudCBmb2N1c1xuICAgICAgICAgICAgdGhpcy5sYXN0Rm9jdXNlZEVsZW1lbnQgPSBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgICAgICAgICB0aGlzLmxheWVyID0gTGF5ZXJNYW5hZ2VyLnJlbmRlckxheWVyKHtcbiAgICAgICAgICAgICAgICBvdmVybGF5LFxuICAgICAgICAgICAgICAgIGV4aXREZWxheTogMzAwLFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBwb3NpdGlvbk1hcFtwb3NpdGlvbl0sXG4gICAgICAgICAgICAgICAgY2xvc2VDYWxsYmFjazogdGhpcy5vbkNsb3NlLFxuICAgICAgICAgICAgICAgIGNsb3NlT25Fc2MsXG4gICAgICAgICAgICAgICAgY2xvc2VPbk92ZXJsYXlDbGljayxcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IChcbiAgICAgICAgICAgICAgICAgICAgPERyYXdlckRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgey4uLnJlc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY9e3RoaXMuc2V0RHJhd2VyUmVmfVxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleD17LTF9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uPXtwb3NpdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICA8L0RyYXdlckRpdj5cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmNsb3NlQ2FsbGJhY2sgPSB0aGlzLmxheWVyWzFdO1xuICAgICAgICAgICAgdGhpcy5mb3JjZVVwZGF0ZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVuZGVycyB0aGUgRHJhd2VyIGNvbXBvbmVudCB2aWEgdGhlIExheWVyTWFuYWdlciBwb3J0YWwuXG4gICAgICovXG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5vcGVuICYmIHRoaXMubGF5ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IFtDb21wb25lbnRdID0gdGhpcy5sYXllcjtcbiAgICAgICAgICAgIHJldHVybiA8Q29tcG9uZW50IC8+O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDa0IifQ== */");
39
- const drawerPropTypes = {
40
- /** Opens the drawer */ open: PropTypes.bool.isRequired,
41
- /** position of the drawer */ position: PropTypes.oneOf([
42
- "LEFT",
43
- "RIGHT",
44
- "BOTTOM"
45
- ]),
46
- /** size of the drawer */ size: PropTypes.string,
47
- /** Shows an overlay behind the drawer. */ overlay: PropTypes.bool,
48
- /** Closes the drawer on esc */ closeOnEsc: PropTypes.bool,
49
- /** Closes the drawer on overlay click */ closeOnOverlayClick: PropTypes.bool,
50
- /** Call back function called when the drawer closes. */ onClose: PropTypes.func
51
- };
52
- const positionMap = {
37
+ })("display:flex;flex-direction:column;background-color:", getThemeValue(THEME_NAME.BACKGROUND), ";transition:transform 0.3s ease;box-shadow:", getThemeValue(THEME_NAME.MODAL_SHADOW), ";", (props)=>positionStyle$1(props.size)[props.position].before, " .nf-layer-enter &{transform:translateX(0%);", (props)=>positionStyle$1(props.size)[props.position].after, "}");
38
+ const positionMap$1 = {
53
39
  ["LEFT"]: LAYER_POSITION.TOP_LEFT,
54
40
  ["RIGHT"]: LAYER_POSITION.TOP_RIGHT,
55
41
  ["BOTTOM"]: LAYER_POSITION.BOTTOM_LEFT
@@ -70,6 +56,8 @@ class Drawer extends React.Component {
70
56
  */ componentDidMount() {
71
57
  if (this.props.open) {
72
58
  this.lastFocusedElement = document.activeElement;
59
+ // Handle initial open state
60
+ this.handleOpen();
73
61
  }
74
62
  }
75
63
  /**
@@ -83,7 +71,7 @@ class Drawer extends React.Component {
83
71
  * Lifecycle method to handle Drawer updates.
84
72
  * Manages opening/closing logic via LayerManager and focus preservation.
85
73
  */ getSnapshotBeforeUpdate(prevProps) {
86
- const { open, closeOnEsc, closeOnOverlayClick, overlay, position, children, size, ...rest } = this.props;
74
+ const { open } = this.props;
87
75
  if (prevProps.open && !open) {
88
76
  this.closeCallback?.();
89
77
  this.restoreFocus();
@@ -91,36 +79,18 @@ class Drawer extends React.Component {
91
79
  if (!prevProps.open && open) {
92
80
  // Save current focus
93
81
  this.lastFocusedElement = document.activeElement;
94
- this.layer = LayerManager.renderLayer({
95
- overlay,
96
- exitDelay: 300,
97
- position: positionMap[position],
98
- closeCallback: this.onClose,
99
- closeOnEsc,
100
- closeOnOverlayClick,
101
- component: /*#__PURE__*/ jsx(DrawerDiv, {
102
- ...rest,
103
- ref: this.setDrawerRef,
104
- role: "dialog",
105
- "aria-modal": "true",
106
- tabIndex: -1,
107
- onKeyDown: this.handleKeyDown,
108
- position: position,
109
- size: size,
110
- onClick: (e)=>e.stopPropagation(),
111
- children: children
112
- })
113
- });
114
- this.closeCallback = this.layer[1];
115
- this.forceUpdate();
82
+ this.handleOpen();
116
83
  }
84
+ return null;
117
85
  }
118
86
  /**
119
87
  * Renders the Drawer component via the LayerManager portal.
120
88
  */ render() {
121
89
  if (this.state.open && this.layer) {
122
90
  const [Component] = this.layer;
123
- return /*#__PURE__*/ jsx(Component, {});
91
+ return /*#__PURE__*/ jsx(Component, {
92
+ ref: this.setRefProp
93
+ });
124
94
  }
125
95
  return null;
126
96
  }
@@ -136,8 +106,8 @@ class Drawer extends React.Component {
136
106
  open: false
137
107
  });
138
108
  this.props.onClose?.();
139
- this.closeCallback = null;
140
- this.layer = null;
109
+ this.closeCallback = undefined;
110
+ this.layer = undefined;
141
111
  }, this.lastFocusedElement = null, this.drawerRef = /*#__PURE__*/ React.createRef(), /**
142
112
  * Retrieves all focusable elements within the drawer.
143
113
  */ this.getFocusableElements = ()=>{
@@ -165,6 +135,32 @@ class Drawer extends React.Component {
165
135
  }
166
136
  }
167
137
  }, /**
138
+ * Handles opening the drawer by creating the layer.
139
+ */ this.handleOpen = ()=>{
140
+ const { closeOnEsc, closeOnOverlayClick, position, size, overlay, children, ...rest } = this.props;
141
+ this.layer = LayerManager.renderLayer({
142
+ overlay,
143
+ exitDelay: 300,
144
+ position: positionMap$1[position],
145
+ closeCallback: this.onClose,
146
+ closeOnEsc,
147
+ closeOnOverlayClick,
148
+ component: /*#__PURE__*/ jsx(DrawerDiv, {
149
+ ...rest,
150
+ ref: this.setDrawerRef,
151
+ role: "dialog",
152
+ "aria-modal": "true",
153
+ tabIndex: -1,
154
+ onKeyDown: this.handleKeyDown,
155
+ position: position,
156
+ size: size,
157
+ onClick: (e)=>e.stopPropagation(),
158
+ children: children
159
+ })
160
+ });
161
+ this.closeCallback = this.layer[1];
162
+ this.forceUpdate();
163
+ }, /**
168
164
  * Restores focus to the element that was focused before the drawer opened.
169
165
  */ this.restoreFocus = ()=>{
170
166
  if (this.lastFocusedElement) {
@@ -209,10 +205,18 @@ class Drawer extends React.Component {
209
205
  // Fallback to container
210
206
  root.focus();
211
207
  }
208
+ }, /**
209
+ * Sets the ref prop passed to the Drawer Container component.
210
+ * @param node
211
+ */ this.setRefProp = (node)=>{
212
+ if (this.props.forwardRef && typeof this.props.forwardRef === 'function') {
213
+ this.props.forwardRef(node);
214
+ } else if (this.props.forwardRef && typeof this.props.forwardRef === 'object') {
215
+ this.props.forwardRef.current = node;
216
+ }
212
217
  };
213
218
  }
214
219
  }
215
- Drawer.propTypes = drawerPropTypes;
216
220
  Drawer.defaultProps = {
217
221
  overlay: true,
218
222
  position: "LEFT",
@@ -221,3 +225,4 @@ Drawer.defaultProps = {
221
225
  };
222
226
 
223
227
  export { DRAWER_POSITION, Drawer as default };
228
+ //# sourceMappingURL=Drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.js","sources":["../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import React from 'react';\nimport styled from '@emotion/styled';\nimport { getThemeValue, THEME_NAME } from '../../shared/constants';\nimport LayerManager, { LAYER_POSITION } from '../../shared/LayerManager';\n\nexport {\n Header as DrawerHeader,\n Body as DrawerBody,\n Footer as DrawerFooter,\n} from '../../shared/styles';\n\nexport enum DRAWER_POSITION {\n LEFT = 'LEFT',\n RIGHT = 'RIGHT',\n BOTTOM = 'BOTTOM',\n}\n\nconst positionStyle = (size?: string) => ({\n [DRAWER_POSITION.LEFT]: {\n before: `height: 100vh; min-width: ${size || '300px'}; transform: translateX(-100%);`,\n after: 'transform: translateX(0%);',\n },\n [DRAWER_POSITION.RIGHT]: {\n before: `height: 100vh; min-width: ${size || '300px'}; transform: translateX(100%);`,\n after: 'transform: translateX(0%);',\n },\n [DRAWER_POSITION.BOTTOM]: {\n before: `\n position: absolute;\n bottom: 0;\n width: 100%;\n height: ${size || '90vh'};\n transform: translateY(100%);\n border-radius: 15px 15px 0 0; \n `,\n after: 'transform: translateX(0%);',\n },\n});\n\nconst DrawerDiv = styled.div<{ position: DRAWER_POSITION; size?: string }>`\n display: flex;\n flex-direction: column;\n background-color: ${getThemeValue(THEME_NAME.BACKGROUND)};\n transition: transform 0.3s ease;\n box-shadow: ${getThemeValue(THEME_NAME.MODAL_SHADOW)};\n ${(props) => positionStyle(props.size)[props.position].before}\n\n .nf-layer-enter & {\n transform: translateX(0%);\n ${(props) => positionStyle(props.size)[props.position].after}\n }\n`;\n\ntype DrawerProps = {\n /** Opens the drawer */\n open: boolean;\n /** position of the drawer */\n position: DRAWER_POSITION;\n /** size of the drawer */\n size?: string;\n /** Shows an overlay behind the drawer. */\n overlay?: boolean;\n /** Closes the drawer on esc */\n closeOnEsc?: boolean;\n /** Closes the drawer on overlay click */\n closeOnOverlayClick?: boolean;\n /** Call back function called when the drawer closes. */\n onClose?: () => void;\n /** Ref forwarded to the underlying HTMLDivElement of the drawer container */\n forwardRef?: React.Ref<HTMLDivElement> | React.MutableRefObject<HTMLDivElement | null>;\n};\n\ninterface DrawerState {\n open: boolean;\n}\n\nconst positionMap = {\n [DRAWER_POSITION.LEFT]: LAYER_POSITION.TOP_LEFT,\n [DRAWER_POSITION.RIGHT]: LAYER_POSITION.TOP_RIGHT,\n [DRAWER_POSITION.BOTTOM]: LAYER_POSITION.BOTTOM_LEFT,\n};\n\n/**\n * Drawer component\n *\n * A panel that slides in from the edge of the screen.\n * It sits on top of the application content and is often used for navigation or details.\n *\n * Accessibility:\n * - Implements ARIA `role=\"dialog\"` and `aria-modal=\"true\"`.\n * - Traps focus effectively within the drawer while open.\n * - Restores focus to the triggering element upon closure.\n * - Supports closing via ESC key and overlay click.\n */\nexport default class Drawer extends React.Component<\n React.PropsWithChildren<DrawerProps>,\n DrawerState\n> {\n state = {\n open: false,\n };\n\n static defaultProps = {\n overlay: true,\n position: DRAWER_POSITION.LEFT,\n closeOnEsc: true,\n closeOnOverlayClick: true,\n };\n\n /**\n * Syncs state with props.\n */\n static getDerivedStateFromProps(props: DrawerProps) {\n if (props.open) {\n return {\n open: true,\n };\n }\n return null;\n }\n\n private layer?: ReturnType<typeof LayerManager.renderLayer>;\n\n private closeCallback?: (resp?: unknown) => void;\n\n /**\n * Internal close handler.\n * Restores focus and calls the external onClose callback.\n */\n private onClose = () => {\n this.restoreFocus();\n this.setState({\n open: false,\n });\n this.props.onClose?.();\n this.closeCallback = undefined;\n this.layer = undefined;\n };\n\n private lastFocusedElement: HTMLElement | null = null;\n private drawerRef = React.createRef<HTMLDivElement>();\n\n /**\n * Retrieves all focusable elements within the drawer.\n */\n private getFocusableElements = (): HTMLElement[] => {\n if (!this.drawerRef.current) return [];\n return Array.from(\n this.drawerRef.current.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n ),\n ) as HTMLElement[];\n };\n\n /**\n * Handles keydown events to implement the focus trap.\n * Traps Tab and Shift+Tab within the drawer.\n */\n private handleKeyDown = (e: React.KeyboardEvent) => {\n if (e.key === 'Tab') {\n const focusableElements = this.getFocusableElements();\n if (focusableElements.length === 0) return;\n\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstElement) {\n lastElement.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastElement) {\n firstElement.focus();\n e.preventDefault();\n }\n }\n }\n };\n\n /**\n * Lifecycle method to save the currently focused element when the drawer mounts while open.\n */\n componentDidMount() {\n if (this.props.open) {\n this.lastFocusedElement = document.activeElement as HTMLElement;\n // Handle initial open state\n this.handleOpen();\n }\n }\n\n /**\n * Handles opening the drawer by creating the layer.\n */\n private handleOpen = () => {\n const { closeOnEsc, closeOnOverlayClick, position, size, overlay, children, ...rest } =\n this.props;\n\n this.layer = LayerManager.renderLayer({\n overlay,\n exitDelay: 300,\n position: positionMap[position],\n closeCallback: this.onClose,\n closeOnEsc,\n closeOnOverlayClick,\n component: (\n <DrawerDiv\n {...rest}\n ref={this.setDrawerRef}\n role=\"dialog\"\n aria-modal=\"true\"\n tabIndex={-1}\n onKeyDown={this.handleKeyDown}\n position={position}\n size={size}\n onClick={(e) => e.stopPropagation()}\n >\n {children}\n </DrawerDiv>\n ),\n });\n this.closeCallback = this.layer[1];\n this.forceUpdate();\n };\n\n /**\n * Lifecycle method to restore focus when the drawer unmounts.\n */\n componentWillUnmount() {\n if (this.props.open) {\n this.restoreFocus();\n }\n }\n\n /**\n * Restores focus to the element that was focused before the drawer opened.\n */\n private restoreFocus = () => {\n if (this.lastFocusedElement) {\n // Check if the element is still in the document\n const elementToBeFocused = this.lastFocusedElement;\n this.lastFocusedElement = null;\n setTimeout(() => {\n if (document.body.contains(elementToBeFocused)) {\n elementToBeFocused.focus();\n }\n }, 100);\n }\n };\n\n /**\n * Callback ref to capture the Drawer DOM element.\n * Triggers initial focus setting when the element mounts.\n */\n private setDrawerRef = (node: HTMLDivElement | null) => {\n // Update ref\n (this.drawerRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n\n if (node) {\n // Set initial focus when the node is mounted\n this.setInitialFocus(node);\n }\n };\n\n /**\n * Sets initial focus within the drawer.\n * Tries to focus the header first, then the first interactive element, or falls back to the container.\n */\n private setInitialFocus = (root: HTMLElement) => {\n // Try to find the header (assumed to be the first child)\n const firstChild = root.firstElementChild as HTMLElement;\n if (firstChild) {\n // Ensure it's focusable\n if (firstChild.getAttribute('tabindex') === null) {\n firstChild.setAttribute('tabindex', '-1');\n }\n firstChild.focus();\n return;\n }\n\n // Fallback to focusable elements\n const focusableElements = this.getFocusableElements();\n if (focusableElements.length > 0) {\n focusableElements[0].focus();\n } else {\n // Fallback to container\n root.focus();\n }\n };\n\n /**\n * Lifecycle method to handle Drawer updates.\n * Manages opening/closing logic via LayerManager and focus preservation.\n */\n getSnapshotBeforeUpdate(prevProps: DrawerProps) {\n const { open } = this.props;\n\n if (prevProps.open && !open) {\n this.closeCallback?.();\n this.restoreFocus();\n }\n\n if (!prevProps.open && open) {\n // Save current focus\n this.lastFocusedElement = document.activeElement as HTMLElement;\n this.handleOpen();\n }\n\n return null;\n }\n\n /**\n * Sets the ref prop passed to the Drawer Container component.\n * @param node\n */\n setRefProp = (node: HTMLDivElement | null) => {\n if (this.props.forwardRef && typeof this.props.forwardRef === 'function') {\n this.props.forwardRef(node);\n } else if (this.props.forwardRef && typeof this.props.forwardRef === 'object') {\n (this.props.forwardRef as React.MutableRefObject<HTMLDivElement | null>).current = node;\n }\n };\n\n /**\n * Renders the Drawer component via the LayerManager portal.\n */\n render() {\n if (this.state.open && this.layer) {\n const [Component] = this.layer;\n return <Component ref={this.setRefProp} />;\n }\n\n return null;\n }\n}\n"],"names":["DRAWER_POSITION","positionStyle","size","before","after","DrawerDiv","styled","getThemeValue","THEME_NAME","BACKGROUND","MODAL_SHADOW","props","position","positionMap","LAYER_POSITION","TOP_LEFT","TOP_RIGHT","BOTTOM_LEFT","Drawer","React","Component","getDerivedStateFromProps","open","componentDidMount","lastFocusedElement","document","activeElement","handleOpen","componentWillUnmount","restoreFocus","getSnapshotBeforeUpdate","prevProps","closeCallback","render","state","layer","_jsx","ref","setRefProp","onClose","setState","undefined","drawerRef","createRef","getFocusableElements","current","Array","from","querySelectorAll","handleKeyDown","e","key","focusableElements","length","firstElement","lastElement","shiftKey","focus","preventDefault","closeOnEsc","closeOnOverlayClick","overlay","children","rest","LayerManager","renderLayer","exitDelay","component","setDrawerRef","role","aria-modal","tabIndex","onKeyDown","onClick","stopPropagation","forceUpdate","elementToBeFocused","setTimeout","body","contains","node","setInitialFocus","root","firstChild","firstElementChild","getAttribute","setAttribute","forwardRef","defaultProps"],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
- declare function Group(props: React.PropsWithChildren<PropTypes.InferProps<typeof Group.propTypes>>): import("@emotion/react/jsx-runtime").JSX.Element;
4
- declare namespace Group {
5
- var propTypes: {
6
- /** Error Message for the group */
7
- errorText: PropTypes.Requireable<string>;
8
- };
9
- }
2
+ declare const Group: React.ForwardRefExoticComponent<{
3
+ /** Error Message for the group */
4
+ errorText?: string;
5
+ } & {
6
+ children?: React.ReactNode | undefined;
7
+ } & React.RefAttributes<HTMLDivElement>>;
10
8
  export default Group;
@@ -1,11 +1,10 @@
1
1
  import { jsxs, Fragment, jsx } from '@emotion/react/jsx-runtime';
2
- import { useId } from 'react';
3
- import PropTypes from 'prop-types';
2
+ import React, { useId } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
6
5
 
7
- const Container = /*#__PURE__*/ styled("div", {
8
- target: "e10z40ez0",
6
+ const Container$3 = /*#__PURE__*/ styled("div", {
7
+ target: "eahc3qe0",
9
8
  label: "Container"
10
9
  })("display:inline-flex;border:1px solid ", getThemeValue(THEME_NAME.BORDER_COLOR), ";border-radius:3px;margin:5px;& button,& label{margin:0;border:none;border-radius:0;border-left:1px solid ", getThemeValue(THEME_NAME.BORDER_COLOR), ";box-shadow:none;height:32px;}& > div button{border-left:none;}& input,& select{border:none;height:32px;}& input,& select{border-radius:0;}& input:active,& select:active{box-shadow:none;}& > div > span{top:8px;}& > *:first-child,& > label:first-child input,& > label:first-child select,& > *:first-child label,& > *:first-child input{border-left:none;border-radius:2px 0 0 2px;}& > *:last-child,& > label:last-child input,& > label:last-child select,& > *:last-child label,& > *:last-child input{border-radius:0 2px 2px 0;}& *:focus,& *:focus + span{z-index:1;}&:focus-within,&:hover{box-shadow:", getThemeValue(THEME_NAME.HOVER_SHADOW), ";}", (props)=>props.errorText ? `
11
10
  border-color: ${getThemeValue(THEME_NAME.ERROR)};
@@ -13,17 +12,22 @@ const Container = /*#__PURE__*/ styled("div", {
13
12
  & > button, & > label {
14
13
  border-color: ${getThemeValue(THEME_NAME.ERROR)};
15
14
  }
16
- ` : '', "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9Hcm91cHMvR3JvdXAudHN4Iiwic291cmNlcyI6WyIvaG9tZS9ydW5uZXIvd29yay9uby1mcmlsbHMtdWkvbm8tZnJpbGxzLXVpL3NyYy9jb21wb25lbnRzL0dyb3Vwcy9Hcm91cC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGdldFRoZW1lVmFsdWUsIFRIRU1FX05BTUUgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzJztcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdjxQcm9wVHlwZXMuSW5mZXJQcm9wczx0eXBlb2YgR3JvdXAucHJvcFR5cGVzPj5gXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQk9SREVSX0NPTE9SKX07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbjogNXB4O1xuXG4gICAgLyogb3ZlcnJpZGVzICovXG4gICAgJiBidXR0b24sXG4gICAgJiBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9DT0xPUil9O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgJiA+IGRpdiBidXR0b24ge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAmIGlucHV0LFxuICAgICYgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgJiBpbnB1dCxcbiAgICAmIHNlbGVjdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJiBpbnB1dDphY3RpdmUsXG4gICAgJiBzZWxlY3Q6YWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gZGl2ID4gc3BhbiB7XG4gICAgICAgIHRvcDogOHB4O1xuICAgIH1cblxuICAgIC8qIEhhbmRsaW5nIGZvciBmaXJzdCBhbmQgbGFzdCBjaGlsZCAqL1xuICAgICYgPiAqOmZpcnN0LWNoaWxkLFxuICAgICYgPiBsYWJlbDpmaXJzdC1jaGlsZCBpbnB1dCxcbiAgICAmID4gbGFiZWw6Zmlyc3QtY2hpbGQgc2VsZWN0LFxuICAgICYgPiAqOmZpcnN0LWNoaWxkIGxhYmVsLFxuICAgICYgPiAqOmZpcnN0LWNoaWxkIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuICAgIH1cblxuICAgICYgPiAqOmxhc3QtY2hpbGQsXG4gICAgJiA+IGxhYmVsOmxhc3QtY2hpbGQgaW5wdXQsXG4gICAgJiA+IGxhYmVsOmxhc3QtY2hpbGQgc2VsZWN0LFxuICAgICYgPiAqOmxhc3QtY2hpbGQgbGFiZWwsXG4gICAgJiA+ICo6bGFzdC1jaGlsZCBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIH1cblxuICAgIC8qIGZvY3VzICovXG4gICAgJiAqOmZvY3VzLFxuICAgICYgKjpmb2N1cyArIHNwYW4ge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5IT1ZFUl9TSEFET1cpfTtcbiAgICB9XG5cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgICAgcHJvcHMuZXJyb3JUZXh0XG4gICAgICAgICAgICA/IGBcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5FUlJPUil9O1xuXG4gICAgICAgICYgPiBidXR0b24sICYgPiBsYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkVSUk9SKX07XG4gICAgICAgIH1cbiAgICBgXG4gICAgICAgICAgICA6ICcnfVxuYDtcblxuY29uc3QgRXJyb3JDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5FUlJPUil9O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR3JvdXAoXG4gICAgcHJvcHM6IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFByb3BUeXBlcy5JbmZlclByb3BzPHR5cGVvZiBHcm91cC5wcm9wVHlwZXM+Pixcbikge1xuICAgIGNvbnN0IGVycm9ySWQgPSB1c2VJZCgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxDb250YWluZXIgey4uLnByb3BzfSBhcmlhLWRlc2NyaWJlZGJ5PXtwcm9wcy5lcnJvclRleHQgPyBlcnJvcklkIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgICAgIHtwcm9wcy5lcnJvclRleHQgJiYgPEVycm9yQ29udGFpbmVyIGlkPXtlcnJvcklkfT57cHJvcHMuZXJyb3JUZXh0fTwvRXJyb3JDb250YWluZXI+fVxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5Hcm91cC5wcm9wVHlwZXMgPSB7XG4gICAgLyoqIEVycm9yIE1lc3NhZ2UgZm9yIHRoZSBncm91cCAqL1xuICAgIGVycm9yVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS2tCIn0= */");
15
+ ` : '');
17
16
  const ErrorContainer = /*#__PURE__*/ styled("div", {
18
- target: "e10z40ez1",
17
+ target: "eahc3qe1",
19
18
  label: "ErrorContainer"
20
- })("color:", getThemeValue(THEME_NAME.ERROR), ";margin-left:8px;font-size:12px;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9Hcm91cHMvR3JvdXAudHN4Iiwic291cmNlcyI6WyIvaG9tZS9ydW5uZXIvd29yay9uby1mcmlsbHMtdWkvbm8tZnJpbGxzLXVpL3NyYy9jb21wb25lbnRzL0dyb3Vwcy9Hcm91cC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUlkIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGdldFRoZW1lVmFsdWUsIFRIRU1FX05BTUUgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzJztcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdjxQcm9wVHlwZXMuSW5mZXJQcm9wczx0eXBlb2YgR3JvdXAucHJvcFR5cGVzPj5gXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQk9SREVSX0NPTE9SKX07XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbjogNXB4O1xuXG4gICAgLyogb3ZlcnJpZGVzICovXG4gICAgJiBidXR0b24sXG4gICAgJiBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9DT0xPUil9O1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgJiA+IGRpdiBidXR0b24ge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAmIGlucHV0LFxuICAgICYgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgJiBpbnB1dCxcbiAgICAmIHNlbGVjdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJiBpbnB1dDphY3RpdmUsXG4gICAgJiBzZWxlY3Q6YWN0aXZlIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gZGl2ID4gc3BhbiB7XG4gICAgICAgIHRvcDogOHB4O1xuICAgIH1cblxuICAgIC8qIEhhbmRsaW5nIGZvciBmaXJzdCBhbmQgbGFzdCBjaGlsZCAqL1xuICAgICYgPiAqOmZpcnN0LWNoaWxkLFxuICAgICYgPiBsYWJlbDpmaXJzdC1jaGlsZCBpbnB1dCxcbiAgICAmID4gbGFiZWw6Zmlyc3QtY2hpbGQgc2VsZWN0LFxuICAgICYgPiAqOmZpcnN0LWNoaWxkIGxhYmVsLFxuICAgICYgPiAqOmZpcnN0LWNoaWxkIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAwIDAgMnB4O1xuICAgIH1cblxuICAgICYgPiAqOmxhc3QtY2hpbGQsXG4gICAgJiA+IGxhYmVsOmxhc3QtY2hpbGQgaW5wdXQsXG4gICAgJiA+IGxhYmVsOmxhc3QtY2hpbGQgc2VsZWN0LFxuICAgICYgPiAqOmxhc3QtY2hpbGQgbGFiZWwsXG4gICAgJiA+ICo6bGFzdC1jaGlsZCBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIH1cblxuICAgIC8qIGZvY3VzICovXG4gICAgJiAqOmZvY3VzLFxuICAgICYgKjpmb2N1cyArIHNwYW4ge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5IT1ZFUl9TSEFET1cpfTtcbiAgICB9XG5cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgICAgcHJvcHMuZXJyb3JUZXh0XG4gICAgICAgICAgICA/IGBcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5FUlJPUil9O1xuXG4gICAgICAgICYgPiBidXR0b24sICYgPiBsYWJlbCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkVSUk9SKX07XG4gICAgICAgIH1cbiAgICBgXG4gICAgICAgICAgICA6ICcnfVxuYDtcblxuY29uc3QgRXJyb3JDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5FUlJPUil9O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gR3JvdXAoXG4gICAgcHJvcHM6IFJlYWN0LlByb3BzV2l0aENoaWxkcmVuPFByb3BUeXBlcy5JbmZlclByb3BzPHR5cGVvZiBHcm91cC5wcm9wVHlwZXM+Pixcbikge1xuICAgIGNvbnN0IGVycm9ySWQgPSB1c2VJZCgpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICAgIDxDb250YWluZXIgey4uLnByb3BzfSBhcmlhLWRlc2NyaWJlZGJ5PXtwcm9wcy5lcnJvclRleHQgPyBlcnJvcklkIDogdW5kZWZpbmVkfT5cbiAgICAgICAgICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICAgICAgICA8L0NvbnRhaW5lcj5cbiAgICAgICAgICAgIHtwcm9wcy5lcnJvclRleHQgJiYgPEVycm9yQ29udGFpbmVyIGlkPXtlcnJvcklkfT57cHJvcHMuZXJyb3JUZXh0fTwvRXJyb3JDb250YWluZXI+fVxuICAgICAgICA8Lz5cbiAgICApO1xufVxuXG5Hcm91cC5wcm9wVHlwZXMgPSB7XG4gICAgLyoqIEVycm9yIE1lc3NhZ2UgZm9yIHRoZSBncm91cCAqL1xuICAgIGVycm9yVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUZ1QiJ9 */");
21
- function Group(props) {
19
+ })("color:", getThemeValue(THEME_NAME.ERROR), ";margin-left:8px;font-size:12px;");
20
+ /**
21
+ * Group Component
22
+ * @param props - Component props
23
+ * @param ref - Ref forwarded to the underlying HTMLDivElement
24
+ */ function GroupComponent(props, ref) {
22
25
  const errorId = useId();
23
26
  return /*#__PURE__*/ jsxs(Fragment, {
24
27
  children: [
25
- /*#__PURE__*/ jsx(Container, {
28
+ /*#__PURE__*/ jsx(Container$3, {
26
29
  ...props,
30
+ ref: ref,
27
31
  "aria-describedby": props.errorText ? errorId : undefined,
28
32
  children: props.children
29
33
  }),
@@ -34,8 +38,7 @@ function Group(props) {
34
38
  ]
35
39
  });
36
40
  }
37
- Group.propTypes = {
38
- /** Error Message for the group */ errorText: PropTypes.string
39
- };
41
+ const Group = /*#__PURE__*/ React.forwardRef(GroupComponent);
40
42
 
41
43
  export { Group as default };
44
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.js","sources":["../../../src/components/Groups/Group.tsx"],"sourcesContent":["import React, { useId } from 'react';\nimport styled from '@emotion/styled';\nimport { getThemeValue, THEME_NAME } from '../../shared/constants';\n\nconst Container = styled.div<GroupProps>`\n display: inline-flex;\n border: 1px solid ${getThemeValue(THEME_NAME.BORDER_COLOR)};\n border-radius: 3px;\n margin: 5px;\n\n /* overrides */\n & button,\n & label {\n margin: 0;\n border: none;\n border-radius: 0;\n border-left: 1px solid ${getThemeValue(THEME_NAME.BORDER_COLOR)};\n box-shadow: none;\n height: 32px;\n }\n\n & > div button {\n border-left: none;\n }\n\n & input,\n & select {\n border: none;\n height: 32px;\n }\n\n & input,\n & select {\n border-radius: 0;\n }\n\n & input:active,\n & select:active {\n box-shadow: none;\n }\n\n & > div > span {\n top: 8px;\n }\n\n /* Handling for first and last child */\n & > *:first-child,\n & > label:first-child input,\n & > label:first-child select,\n & > *:first-child label,\n & > *:first-child input {\n border-left: none;\n border-radius: 2px 0 0 2px;\n }\n\n & > *:last-child,\n & > label:last-child input,\n & > label:last-child select,\n & > *:last-child label,\n & > *:last-child input {\n border-radius: 0 2px 2px 0;\n }\n\n /* focus */\n & *:focus,\n & *:focus + span {\n z-index: 1;\n }\n\n &:focus-within,\n &:hover {\n box-shadow: ${getThemeValue(THEME_NAME.HOVER_SHADOW)};\n }\n\n ${(props) =>\n props.errorText\n ? `\n border-color: ${getThemeValue(THEME_NAME.ERROR)};\n\n & > button, & > label {\n border-color: ${getThemeValue(THEME_NAME.ERROR)};\n }\n `\n : ''}\n`;\n\nconst ErrorContainer = styled.div`\n color: ${getThemeValue(THEME_NAME.ERROR)};\n margin-left: 8px;\n font-size: 12px;\n`;\n\ntype GroupProps = React.PropsWithChildren<{\n /** Error Message for the group */\n errorText?: string;\n}>;\n\n/**\n * Group Component\n * @param props - Component props\n * @param ref - Ref forwarded to the underlying HTMLDivElement\n */\nfunction GroupComponent(\n props: React.PropsWithChildren<GroupProps>,\n ref: React.Ref<HTMLDivElement>,\n) {\n const errorId = useId();\n\n return (\n <>\n <Container\n {...props}\n ref={ref}\n aria-describedby={props.errorText ? errorId : undefined}\n >\n {props.children}\n </Container>\n {props.errorText && <ErrorContainer id={errorId}>{props.errorText}</ErrorContainer>}\n </>\n );\n}\n\nconst Group = React.forwardRef<HTMLDivElement, GroupProps>(GroupComponent);\nexport default Group;\n"],"names":["Container","styled","getThemeValue","THEME_NAME","BORDER_COLOR","HOVER_SHADOW","props","errorText","ERROR","ErrorContainer","GroupComponent","ref","errorId","useId","_jsxs","_Fragment","_jsx","aria-describedby","undefined","children","id","Group","React","forwardRef"],"mappings":";;;;;AAIA,MAAMA,WAAAA,iBAAYC,MAAAA,CAAAA,KAAAA,EAAAA;;;AAEMC,CAAAA,CAAAA,CAAAA,uCAAAA,EAAAA,aAAAA,CAAcC,WAAWC,YAAY,CAAA,EAAA,4GAAA,EAU5BF,aAAAA,CAAcC,UAAAA,CAAWC,YAAY,CAAA,EAAA,qlBAAA,EAuDhDF,aAAAA,CAAcC,UAAAA,CAAWE,YAAY,SAGrD,CAACC,KAAAA,GACCA,KAAAA,CAAMC,SAAS,GACT;sBACQ,EAAEL,aAAAA,CAAcC,UAAAA,CAAWK,KAAK,CAAA,CAAE;;;0BAG9B,EAAEN,aAAAA,CAAcC,UAAAA,CAAWK,KAAK,CAAA,CAAE;;AAExD,IAAA,CAAC,GACS,EAAA,CAAA;AAGd,MAAMC,cAAAA,iBAAiBR,MAAAA,CAAAA,KAAAA,EAAAA;;;AACVC,CAAAA,CAAAA,CAAAA,QAAAA,EAAAA,aAAAA,CAAcC,WAAWK,KAAK,CAAA,EAAA,kCAAA,CAAA;AAU3C;;;;AAIC,IACD,SAASE,cAAAA,CACLJ,KAA0C,EAC1CK,GAA8B,EAAA;AAE9B,IAAA,MAAMC,OAAAA,GAAUC,KAAAA,EAAAA;IAEhB,qBACIC,IAAA,CAAAC,QAAA,EAAA;;0BACIC,GAAA,CAAChB,WAAAA,EAAAA;AACI,gBAAA,GAAGM,KAAK;gBACTK,GAAAA,EAAKA,GAAAA;gBACLM,kBAAAA,EAAkBX,KAAAA,CAAMC,SAAS,GAAGK,OAAAA,GAAUM,SAAAA;AAE7CZ,gBAAAA,QAAAA,EAAAA,KAAAA,CAAMa;;YAEVb,KAAAA,CAAMC,SAAS,kBAAIS,GAAA,CAACP,cAAAA,EAAAA;gBAAeW,EAAAA,EAAIR,OAAAA;AAAUN,gBAAAA,QAAAA,EAAAA,KAAAA,CAAMC;;;;AAGpE;AAEA,MAAMc,KAAAA,iBAAQC,KAAAA,CAAMC,UAAU,CAA6Bb,cAAAA;;;;"}
@@ -4,6 +4,7 @@ import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
4
4
  var GroupLabel = /*#__PURE__*/ styled("label", {
5
5
  target: "e1kv3eb90",
6
6
  label: ""
7
- })("height:32px;background-color:", getThemeValue(THEME_NAME.DISABLED_BACKGROUND), ";padding:0 4px;line-height:32px;min-width:24px;text-align:center;color:", getThemeValue(THEME_NAME.BORDER_COLOR), ";& > svg{height:24px;width:24px;vertical-align:middle;fill:currentColor;}", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9Hcm91cHMvR3JvdXBMYWJlbC50c3giLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL25vLWZyaWxscy11aS9uby1mcmlsbHMtdWkvc3JjL2NvbXBvbmVudHMvR3JvdXBzL0dyb3VwTGFiZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IGdldFRoZW1lVmFsdWUsIFRIRU1FX05BTUUgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzJztcblxuZXhwb3J0IGRlZmF1bHQgc3R5bGVkLmxhYmVsYFxuICAgIGhlaWdodDogMzJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5ESVNBQkxFRF9CQUNLR1JPVU5EKX07XG4gICAgcGFkZGluZzogMCA0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgbWluLXdpZHRoOiAyNHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQk9SREVSX0NPTE9SKX07XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbmA7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR2UifQ== */");
7
+ })("height:32px;background-color:", getThemeValue(THEME_NAME.DISABLED_BACKGROUND), ";padding:0 4px;line-height:32px;min-width:24px;text-align:center;color:", getThemeValue(THEME_NAME.BORDER_COLOR), ";& > svg{height:24px;width:24px;vertical-align:middle;fill:currentColor;}");
8
8
 
9
9
  export { GroupLabel as default };
10
+ //# sourceMappingURL=GroupLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupLabel.js","sources":["../../../src/components/Groups/GroupLabel.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { getThemeValue, THEME_NAME } from '../../shared/constants';\n\nexport default styled.label`\n height: 32px;\n background-color: ${getThemeValue(THEME_NAME.DISABLED_BACKGROUND)};\n padding: 0 4px;\n line-height: 32px;\n min-width: 24px;\n text-align: center;\n color: ${getThemeValue(THEME_NAME.BORDER_COLOR)};\n\n & > svg {\n height: 24px;\n width: 24px;\n vertical-align: middle;\n fill: currentColor;\n }\n`;\n"],"names":["styled","getThemeValue","THEME_NAME","DISABLED_BACKGROUND","BORDER_COLOR"],"mappings":";;;AAGA,iBAAA,cAAeA,MAAAA,CAAAA,OAAAA,EAAAA;;;AAESC,CAAAA,CAAAA,CAAAA,+BAAAA,EAAAA,aAAAA,CAAcC,WAAWC,mBAAmB,CAAA,EAAA,yEAAA,EAKvDF,aAAAA,CAAcC,UAAAA,CAAWE,YAAY,CAAA,EAAA,2EAAA,CAAA;;;;"}
@@ -1,17 +1,14 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
- type CheckboxProps = Omit<React.HTMLProps<HTMLInputElement>, 'as'> & PropTypes.InferProps<typeof Checkbox.propTypes>;
4
- declare function Checkbox(props: CheckboxProps): import("@emotion/react/jsx-runtime").JSX.Element;
5
- declare namespace Checkbox {
6
- var propTypes: {
7
- /** Label for the field */
8
- label: PropTypes.Requireable<string>;
9
- /** If the field is in indeterminate state */
10
- indeterminate: PropTypes.Requireable<boolean>;
11
- };
12
- var defaultProps: {
13
- indeterminate: boolean;
14
- label: string;
15
- };
16
- }
2
+ declare const Checkbox: React.ForwardRefExoticComponent<{
3
+ /**
4
+ * Label for the field
5
+ * @default ''
6
+ */
7
+ label?: string;
8
+ /**
9
+ * If the field is in indeterminate state
10
+ * @default false
11
+ */
12
+ indeterminate?: boolean;
13
+ } & React.InputHTMLAttributes<HTMLInputElement> & React.RefAttributes<HTMLInputElement>>;
17
14
  export default Checkbox;
@@ -1,53 +1,58 @@
1
1
  import { jsxs, jsx } from '@emotion/react/jsx-runtime';
2
- import { useCallback } from 'react';
3
- import PropTypes from 'prop-types';
2
+ import React, { useCallback } from 'react';
4
3
  import styled from '@emotion/styled';
5
4
  import { getThemeValue, THEME_NAME } from '../../shared/constants.js';
6
5
 
7
- const Label = /*#__PURE__*/ styled("label", {
8
- target: "e16qfxit0",
6
+ const Label$2 = /*#__PURE__*/ styled("label", {
7
+ target: "e10ud8wb0",
9
8
  label: "Label"
10
- })("margin:5px 0;position:relative;display:inline-flex;align-items:center;cursor:pointer;", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9JbnB1dC9DaGVja2JveC50c3giLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL25vLWZyaWxscy11aS9uby1mcmlsbHMtdWkvc3JjL2NvbXBvbmVudHMvSW5wdXQvQ2hlY2tib3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBnZXRUaGVtZVZhbHVlLCBUSEVNRV9OQU1FIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5cbmNvbnN0IExhYmVsID0gc3R5bGVkLmxhYmVsYFxuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxuY29uc3QgU3R5bGVkQ2hlY2ttYXJrID0gc3R5bGVkLnNwYW5gXG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9DT0xPUil9O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQkFDS0dST1VORCl9O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cbmA7XG5cbmNvbnN0IEhpZGRlbklucHV0ID0gc3R5bGVkLmlucHV0YFxuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvKiogY2hlY2tlZCAqL1xuICAgICY6Y2hlY2tlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAvKiogaW5kZXRlcm1pbmF0ZSAqL1xuICAgICY6aW5kZXRlcm1pbmF0ZSArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjppbmRldGVybWluYXRlICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuVEVYVF9DT0xPUl9MSUdIVCl9O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICB9XG5cbiAgICAvKiogYWN0aXZlIGFuZCBmb2N1cyAqL1xuICAgICY6ZW5hYmxlZDphY3RpdmUgKyAke1N0eWxlZENoZWNrbWFya30sICY6Zm9jdXMgKyAke1N0eWxlZENoZWNrbWFya30ge1xuICAgICAgICBib3JkZXItY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUllfTElHSFQpfTtcbiAgICB9XG5cbiAgICAmOmVuYWJsZWQ6YWN0aXZlIH4gc3BhbixcbiAgICAmOmZvY3VzIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGhvdmVyICovXG4gICAgJjplbmFibGVkOmhvdmVyICsgJHtTdHlsZWRDaGVja21hcmt9IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjplbmFibGVkOmhvdmVyIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGRpc2FibGVkICovXG4gICAgJjpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRURfQk9SREVSKX07XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB+IHNwYW4ge1xuICAgICAgICBjb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRUQpfTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAke1N0eWxlZENoZWNrbWFya30sICY6aW5kZXRlcm1pbmF0ZTpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkRJU0FCTEVEKX07XG4gICAgfVxuYDtcblxudHlwZSBDaGVja2JveFByb3BzID0gT21pdDxSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD4sICdhcyc+ICZcbiAgICBQcm9wVHlwZXMuSW5mZXJQcm9wczx0eXBlb2YgQ2hlY2tib3gucHJvcFR5cGVzPjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hlY2tib3gocHJvcHM6IENoZWNrYm94UHJvcHMpIHtcbiAgICBjb25zdCByZWYgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKG5vZGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKG5vZGUgYXMgSFRNTElucHV0RWxlbWVudCkuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbcHJvcHMuaW5kZXRlcm1pbmF0ZV0sXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxMYWJlbD5cbiAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17cHJvcHMuaW5kZXRlcm1pbmF0ZSA/ICdtaXhlZCcgOiBwcm9wcy5jaGVja2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja21hcmsgLz5cbiAgICAgICAgICAgIDxzcGFuPntwcm9wcy5sYWJlbH08L3NwYW4+XG4gICAgICAgIDwvTGFiZWw+XG4gICAgKTtcbn1cblxuQ2hlY2tib3gucHJvcFR5cGVzID0ge1xuICAgIC8qKiBMYWJlbCBmb3IgdGhlIGZpZWxkICovXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIElmIHRoZSBmaWVsZCBpcyBpbiBpbmRldGVybWluYXRlIHN0YXRlICovXG4gICAgaW5kZXRlcm1pbmF0ZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5DaGVja2JveC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgbGFiZWw6ICcnLFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLYyJ9 */");
9
+ })("margin:5px 0;position:relative;display:inline-flex;align-items:center;cursor:pointer;");
11
10
  const StyledCheckmark = /*#__PURE__*/ styled("span", {
12
- target: "e16qfxit1",
11
+ target: "e10ud8wb1",
13
12
  label: "StyledCheckmark"
14
- })("width:16px;height:16px;border:1px solid ", getThemeValue(THEME_NAME.BORDER_COLOR), ";display:inline-block;border-radius:3px;margin-right:5px;background-color:", getThemeValue(THEME_NAME.BACKGROUND), ";transition:all 0.3s ease;position:relative;flex-shrink:0;&::after{content:'';width:3px;height:10px;border-right:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-bottom:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";position:absolute;top:1px;left:6px;opacity:0;transform:rotate(45deg) scale(0);transition:all 0.2s ease;}", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9JbnB1dC9DaGVja2JveC50c3giLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL25vLWZyaWxscy11aS9uby1mcmlsbHMtdWkvc3JjL2NvbXBvbmVudHMvSW5wdXQvQ2hlY2tib3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBnZXRUaGVtZVZhbHVlLCBUSEVNRV9OQU1FIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5cbmNvbnN0IExhYmVsID0gc3R5bGVkLmxhYmVsYFxuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxuY29uc3QgU3R5bGVkQ2hlY2ttYXJrID0gc3R5bGVkLnNwYW5gXG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9DT0xPUil9O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQkFDS0dST1VORCl9O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cbmA7XG5cbmNvbnN0IEhpZGRlbklucHV0ID0gc3R5bGVkLmlucHV0YFxuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvKiogY2hlY2tlZCAqL1xuICAgICY6Y2hlY2tlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAvKiogaW5kZXRlcm1pbmF0ZSAqL1xuICAgICY6aW5kZXRlcm1pbmF0ZSArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjppbmRldGVybWluYXRlICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuVEVYVF9DT0xPUl9MSUdIVCl9O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICB9XG5cbiAgICAvKiogYWN0aXZlIGFuZCBmb2N1cyAqL1xuICAgICY6ZW5hYmxlZDphY3RpdmUgKyAke1N0eWxlZENoZWNrbWFya30sICY6Zm9jdXMgKyAke1N0eWxlZENoZWNrbWFya30ge1xuICAgICAgICBib3JkZXItY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUllfTElHSFQpfTtcbiAgICB9XG5cbiAgICAmOmVuYWJsZWQ6YWN0aXZlIH4gc3BhbixcbiAgICAmOmZvY3VzIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGhvdmVyICovXG4gICAgJjplbmFibGVkOmhvdmVyICsgJHtTdHlsZWRDaGVja21hcmt9IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjplbmFibGVkOmhvdmVyIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGRpc2FibGVkICovXG4gICAgJjpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRURfQk9SREVSKX07XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB+IHNwYW4ge1xuICAgICAgICBjb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRUQpfTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAke1N0eWxlZENoZWNrbWFya30sICY6aW5kZXRlcm1pbmF0ZTpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkRJU0FCTEVEKX07XG4gICAgfVxuYDtcblxudHlwZSBDaGVja2JveFByb3BzID0gT21pdDxSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD4sICdhcyc+ICZcbiAgICBQcm9wVHlwZXMuSW5mZXJQcm9wczx0eXBlb2YgQ2hlY2tib3gucHJvcFR5cGVzPjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hlY2tib3gocHJvcHM6IENoZWNrYm94UHJvcHMpIHtcbiAgICBjb25zdCByZWYgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKG5vZGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKG5vZGUgYXMgSFRNTElucHV0RWxlbWVudCkuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbcHJvcHMuaW5kZXRlcm1pbmF0ZV0sXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxMYWJlbD5cbiAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17cHJvcHMuaW5kZXRlcm1pbmF0ZSA/ICdtaXhlZCcgOiBwcm9wcy5jaGVja2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja21hcmsgLz5cbiAgICAgICAgICAgIDxzcGFuPntwcm9wcy5sYWJlbH08L3NwYW4+XG4gICAgICAgIDwvTGFiZWw+XG4gICAgKTtcbn1cblxuQ2hlY2tib3gucHJvcFR5cGVzID0ge1xuICAgIC8qKiBMYWJlbCBmb3IgdGhlIGZpZWxkICovXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIElmIHRoZSBmaWVsZCBpcyBpbiBpbmRldGVybWluYXRlIHN0YXRlICovXG4gICAgaW5kZXRlcm1pbmF0ZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5DaGVja2JveC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgbGFiZWw6ICcnLFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhd0IifQ== */");
15
- const HiddenInput = /*#__PURE__*/ styled("input", {
16
- target: "e16qfxit2",
13
+ })("width:16px;height:16px;border:1px solid ", getThemeValue(THEME_NAME.BORDER_COLOR), ";display:inline-block;border-radius:3px;margin-right:5px;background-color:", getThemeValue(THEME_NAME.BACKGROUND), ";transition:all 0.3s ease;position:relative;flex-shrink:0;&::after{content:'';width:3px;height:10px;border-right:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";border-bottom:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";position:absolute;top:1px;left:6px;opacity:0;transform:rotate(45deg) scale(0);transition:all 0.2s ease;}");
14
+ const HiddenInput$1 = /*#__PURE__*/ styled("input", {
15
+ target: "e10ud8wb2",
17
16
  label: "HiddenInput"
18
- })("opacity:0;width:0;height:0;position:absolute;margin:0;&:checked + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.PRIMARY), ";border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:checked + ", StyledCheckmark, "::after{opacity:1;transform:rotate(45deg) scale(1);}&:indeterminate + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.PRIMARY), ";border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:indeterminate + ", StyledCheckmark, "::after{opacity:1;height:0;width:8px;border-right:none;border-bottom:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";transform:rotate(0deg) scale(1);top:7px;left:4px;}&:enabled:active + ", StyledCheckmark, ",&:focus + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.PRIMARY), ";box-shadow:0 0 0 3px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}&:enabled:active ~ span,&:focus ~ span{color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:enabled:hover + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:enabled:hover ~ span{color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:disabled + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.DISABLED_BORDER), ";cursor:not-allowed;}&:disabled ~ span{color:", getThemeValue(THEME_NAME.DISABLED), ";cursor:not-allowed;}&:checked:disabled + ", StyledCheckmark, ",&:indeterminate:disabled + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.DISABLED), ";}", "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiL2hvbWUvcnVubmVyL3dvcmsvbm8tZnJpbGxzLXVpL25vLWZyaWxscy11aS9zcmMvY29tcG9uZW50cy9JbnB1dC9DaGVja2JveC50c3giLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL25vLWZyaWxscy11aS9uby1mcmlsbHMtdWkvc3JjL2NvbXBvbmVudHMvSW5wdXQvQ2hlY2tib3gudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5pbXBvcnQgeyBnZXRUaGVtZVZhbHVlLCBUSEVNRV9OQU1FIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cyc7XG5cbmNvbnN0IExhYmVsID0gc3R5bGVkLmxhYmVsYFxuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxuY29uc3QgU3R5bGVkQ2hlY2ttYXJrID0gc3R5bGVkLnNwYW5gXG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkJPUkRFUl9DT0xPUil9O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuQkFDS0dST1VORCl9O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDNweDtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5URVhUX0NPTE9SX0xJR0hUKX07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDZweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDApO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIH1cbmA7XG5cbmNvbnN0IEhpZGRlbklucHV0ID0gc3R5bGVkLmlucHV0YFxuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAvKiogY2hlY2tlZCAqL1xuICAgICY6Y2hlY2tlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAvKiogaW5kZXRlcm1pbmF0ZSAqL1xuICAgICY6aW5kZXRlcm1pbmF0ZSArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjppbmRldGVybWluYXRlICsgJHtTdHlsZWRDaGVja21hcmt9OjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuVEVYVF9DT0xPUl9MSUdIVCl9O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBzY2FsZSgxKTtcbiAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIGxlZnQ6IDRweDtcbiAgICB9XG5cbiAgICAvKiogYWN0aXZlIGFuZCBmb2N1cyAqL1xuICAgICY6ZW5hYmxlZDphY3RpdmUgKyAke1N0eWxlZENoZWNrbWFya30sICY6Zm9jdXMgKyAke1N0eWxlZENoZWNrbWFya30ge1xuICAgICAgICBib3JkZXItY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUlkpfTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLlBSSU1BUllfTElHSFQpfTtcbiAgICB9XG5cbiAgICAmOmVuYWJsZWQ6YWN0aXZlIH4gc3BhbixcbiAgICAmOmZvY3VzIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGhvdmVyICovXG4gICAgJjplbmFibGVkOmhvdmVyICsgJHtTdHlsZWRDaGVja21hcmt9IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgJjplbmFibGVkOmhvdmVyIH4gc3BhbiB7XG4gICAgICAgIGNvbG9yOiAke2dldFRoZW1lVmFsdWUoVEhFTUVfTkFNRS5QUklNQVJZKX07XG4gICAgfVxuXG4gICAgLyoqIGRpc2FibGVkICovXG4gICAgJjpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRURfQk9SREVSKX07XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB+IHNwYW4ge1xuICAgICAgICBjb2xvcjogJHtnZXRUaGVtZVZhbHVlKFRIRU1FX05BTUUuRElTQUJMRUQpfTtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQ6ZGlzYWJsZWQgKyAke1N0eWxlZENoZWNrbWFya30sICY6aW5kZXRlcm1pbmF0ZTpkaXNhYmxlZCArICR7U3R5bGVkQ2hlY2ttYXJrfSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0VGhlbWVWYWx1ZShUSEVNRV9OQU1FLkRJU0FCTEVEKX07XG4gICAgfVxuYDtcblxudHlwZSBDaGVja2JveFByb3BzID0gT21pdDxSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD4sICdhcyc+ICZcbiAgICBQcm9wVHlwZXMuSW5mZXJQcm9wczx0eXBlb2YgQ2hlY2tib3gucHJvcFR5cGVzPjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hlY2tib3gocHJvcHM6IENoZWNrYm94UHJvcHMpIHtcbiAgICBjb25zdCByZWYgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgKG5vZGU6IHVua25vd24pID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmluZGV0ZXJtaW5hdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgKG5vZGUgYXMgSFRNTElucHV0RWxlbWVudCkuaW5kZXRlcm1pbmF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBbcHJvcHMuaW5kZXRlcm1pbmF0ZV0sXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDxMYWJlbD5cbiAgICAgICAgICAgIDxIaWRkZW5JbnB1dFxuICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD17cHJvcHMuaW5kZXRlcm1pbmF0ZSA/ICdtaXhlZCcgOiBwcm9wcy5jaGVja2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxTdHlsZWRDaGVja21hcmsgLz5cbiAgICAgICAgICAgIDxzcGFuPntwcm9wcy5sYWJlbH08L3NwYW4+XG4gICAgICAgIDwvTGFiZWw+XG4gICAgKTtcbn1cblxuQ2hlY2tib3gucHJvcFR5cGVzID0ge1xuICAgIC8qKiBMYWJlbCBmb3IgdGhlIGZpZWxkICovXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqIElmIHRoZSBmaWVsZCBpcyBpbiBpbmRldGVybWluYXRlIHN0YXRlICovXG4gICAgaW5kZXRlcm1pbmF0ZTogUHJvcFR5cGVzLmJvb2wsXG59O1xuXG5DaGVja2JveC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaW5kZXRlcm1pbmF0ZTogZmFsc2UsXG4gICAgbGFiZWw6ICcnLFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3Q29CIn0= */");
19
- function Checkbox(props) {
17
+ })("opacity:0;width:0;height:0;position:absolute;margin:0;&:checked + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.PRIMARY), ";border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:checked + ", StyledCheckmark, "::after{opacity:1;transform:rotate(45deg) scale(1);}&:indeterminate + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.PRIMARY), ";border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:indeterminate + ", StyledCheckmark, "::after{opacity:1;height:0;width:8px;border-right:none;border-bottom:2px solid ", getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT), ";transform:rotate(0deg) scale(1);top:7px;left:4px;}&:enabled:active + ", StyledCheckmark, ",&:focus + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.PRIMARY), ";box-shadow:0 0 0 3px ", getThemeValue(THEME_NAME.PRIMARY_LIGHT), ";}&:enabled:active ~ span,&:focus ~ span{color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:enabled:hover + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:enabled:hover ~ span{color:", getThemeValue(THEME_NAME.PRIMARY), ";}&:disabled + ", StyledCheckmark, "{border-color:", getThemeValue(THEME_NAME.DISABLED_BORDER), ";cursor:not-allowed;}&:disabled ~ span{color:", getThemeValue(THEME_NAME.DISABLED), ";cursor:not-allowed;}&:checked:disabled + ", StyledCheckmark, ",&:indeterminate:disabled + ", StyledCheckmark, "{background-color:", getThemeValue(THEME_NAME.DISABLED), ";}");
18
+ /**
19
+ * Checkbox Component
20
+ * @param props - Component props
21
+ * @param fwdRef - Ref forwarded to the underlying HTMLInputElement
22
+ */ function CheckboxComponent(props, fwdRef) {
23
+ const { label = '', indeterminate = false, checked, ...rest } = props;
20
24
  const ref = useCallback((node)=>{
21
- if (node !== null) {
22
- if (props.indeterminate) {
23
- node.indeterminate = true;
24
- }
25
+ // Ensure the DOM `indeterminate` flag always matches the prop
26
+ if (node) {
27
+ node.indeterminate = !!indeterminate;
28
+ }
29
+ // Forward the node (or null) to the parent ref (supports function or ref object)
30
+ if (typeof fwdRef === 'function') {
31
+ fwdRef(node);
32
+ } else if (fwdRef) {
33
+ fwdRef.current = node;
25
34
  }
26
35
  }, [
27
- props.indeterminate
36
+ indeterminate,
37
+ fwdRef
28
38
  ]);
29
- return /*#__PURE__*/ jsxs(Label, {
39
+ return /*#__PURE__*/ jsxs(Label$2, {
30
40
  children: [
31
- /*#__PURE__*/ jsx(HiddenInput, {
32
- ...props,
41
+ /*#__PURE__*/ jsx(HiddenInput$1, {
42
+ ...rest,
33
43
  ref: ref,
34
44
  type: "checkbox",
35
- "aria-checked": props.indeterminate ? 'mixed' : props.checked
45
+ checked: checked,
46
+ "aria-checked": indeterminate ? 'mixed' : checked
36
47
  }),
37
48
  /*#__PURE__*/ jsx(StyledCheckmark, {}),
38
49
  /*#__PURE__*/ jsx("span", {
39
- children: props.label
50
+ children: label
40
51
  })
41
52
  ]
42
53
  });
43
54
  }
44
- Checkbox.propTypes = {
45
- /** Label for the field */ label: PropTypes.string,
46
- /** If the field is in indeterminate state */ indeterminate: PropTypes.bool
47
- };
48
- Checkbox.defaultProps = {
49
- indeterminate: false,
50
- label: ''
51
- };
55
+ const Checkbox = /*#__PURE__*/ React.forwardRef(CheckboxComponent);
52
56
 
53
57
  export { Checkbox as default };
58
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/components/Input/Checkbox.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport styled from '@emotion/styled';\nimport { getThemeValue, THEME_NAME } from '../../shared/constants';\n\nconst Label = styled.label`\n margin: 5px 0;\n position: relative;\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n`;\n\nconst StyledCheckmark = styled.span`\n width: 16px;\n height: 16px;\n border: 1px solid ${getThemeValue(THEME_NAME.BORDER_COLOR)};\n display: inline-block;\n border-radius: 3px;\n margin-right: 5px;\n background-color: ${getThemeValue(THEME_NAME.BACKGROUND)};\n transition: all 0.3s ease;\n position: relative;\n flex-shrink: 0;\n\n &::after {\n content: '';\n width: 3px;\n height: 10px;\n border-right: 2px solid ${getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT)};\n border-bottom: 2px solid ${getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT)};\n position: absolute;\n top: 1px;\n left: 6px;\n opacity: 0;\n transform: rotate(45deg) scale(0);\n transition: all 0.2s ease;\n }\n`;\n\nconst HiddenInput = styled.input`\n opacity: 0;\n width: 0;\n height: 0;\n position: absolute;\n margin: 0;\n\n /** checked */\n &:checked + ${StyledCheckmark} {\n background-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n border-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n }\n\n &:checked + ${StyledCheckmark}::after {\n opacity: 1;\n transform: rotate(45deg) scale(1);\n }\n\n /** indeterminate */\n &:indeterminate + ${StyledCheckmark} {\n background-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n border-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n }\n\n &:indeterminate + ${StyledCheckmark}::after {\n opacity: 1;\n height: 0;\n width: 8px;\n border-right: none;\n border-bottom: 2px solid ${getThemeValue(THEME_NAME.TEXT_COLOR_LIGHT)};\n transform: rotate(0deg) scale(1);\n top: 7px;\n left: 4px;\n }\n\n /** active and focus */\n &:enabled:active + ${StyledCheckmark}, &:focus + ${StyledCheckmark} {\n border-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n box-shadow: 0 0 0 3px ${getThemeValue(THEME_NAME.PRIMARY_LIGHT)};\n }\n\n &:enabled:active ~ span,\n &:focus ~ span {\n color: ${getThemeValue(THEME_NAME.PRIMARY)};\n }\n\n /** hover */\n &:enabled:hover + ${StyledCheckmark} {\n border-color: ${getThemeValue(THEME_NAME.PRIMARY)};\n }\n\n &:enabled:hover ~ span {\n color: ${getThemeValue(THEME_NAME.PRIMARY)};\n }\n\n /** disabled */\n &:disabled + ${StyledCheckmark} {\n border-color: ${getThemeValue(THEME_NAME.DISABLED_BORDER)};\n cursor: not-allowed;\n }\n\n &:disabled ~ span {\n color: ${getThemeValue(THEME_NAME.DISABLED)};\n cursor: not-allowed;\n }\n\n &:checked:disabled + ${StyledCheckmark}, &:indeterminate:disabled + ${StyledCheckmark} {\n background-color: ${getThemeValue(THEME_NAME.DISABLED)};\n }\n`;\n\ntype CheckboxProps = {\n /**\n * Label for the field\n * @default ''\n */\n label?: string;\n /**\n * If the field is in indeterminate state\n * @default false\n */\n indeterminate?: boolean;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\n/**\n * Checkbox Component\n * @param props - Component props\n * @param fwdRef - Ref forwarded to the underlying HTMLInputElement\n */\nfunction CheckboxComponent(props: CheckboxProps, fwdRef: React.Ref<HTMLInputElement>) {\n const { label = '', indeterminate = false, checked, ...rest } = props;\n\n const ref = useCallback(\n (node: HTMLInputElement | null) => {\n // Ensure the DOM `indeterminate` flag always matches the prop\n if (node) {\n node.indeterminate = !!indeterminate;\n }\n\n // Forward the node (or null) to the parent ref (supports function or ref object)\n if (typeof fwdRef === 'function') {\n fwdRef(node);\n } else if (fwdRef) {\n (fwdRef as React.MutableRefObject<HTMLInputElement | null>).current = node;\n }\n },\n [indeterminate, fwdRef],\n );\n\n return (\n <Label>\n <HiddenInput\n {...rest}\n ref={ref}\n type=\"checkbox\"\n checked={checked}\n aria-checked={indeterminate ? 'mixed' : checked}\n />\n <StyledCheckmark />\n <span>{label}</span>\n </Label>\n );\n}\n\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(CheckboxComponent);\n\nexport default Checkbox;\n"],"names":["Label","styled","StyledCheckmark","getThemeValue","THEME_NAME","BORDER_COLOR","BACKGROUND","TEXT_COLOR_LIGHT","HiddenInput","PRIMARY","PRIMARY_LIGHT","DISABLED_BORDER","DISABLED","CheckboxComponent","props","fwdRef","label","indeterminate","checked","rest","ref","useCallback","node","current","_jsxs","_jsx","type","aria-checked","span","Checkbox","React","forwardRef"],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
- type DropdownProps<T> = {
2
+ type DropdownProps<T> = React.PropsWithChildren<{
3
3
  /** Value of the control */
4
4
  value?: T | T[];
5
- /** If multiple elements can be selected */
6
- multiSelect: boolean;
5
+ /**
6
+ * If multiple elements can be selected
7
+ * @default false
8
+ */
9
+ multiSelect?: boolean;
7
10
  /** Change handler */
8
11
  onChange?: (v: T | T[]) => void;
9
12
  /** Label of the control */
@@ -14,19 +17,6 @@ type DropdownProps<T> = {
14
17
  required?: boolean;
15
18
  /** Disables the field */
16
19
  disabled?: boolean;
17
- } & React.PropsWithChildren<unknown>;
18
- /**
19
- * Dropdown component that allows selection from a list of options.
20
- * Supports single and multi-select modes.
21
- *
22
- * @template T - The type of the value(s) in the dropdown.
23
- * @param {DropdownProps<T>} props - The properties for the Dropdown component.
24
- * @returns {JSX.Element} The rendered Dropdown component.
25
- */
26
- declare function Dropdown<T extends object>(props: DropdownProps<T>): import("@emotion/react/jsx-runtime").JSX.Element;
27
- declare namespace Dropdown {
28
- var defaultProps: {
29
- multiSelect: boolean;
30
- };
31
- }
20
+ }> & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value'>;
21
+ declare const Dropdown: <T>(props: DropdownProps<T> & React.RefAttributes<HTMLInputElement>) => React.ReactElement | null;
32
22
  export default Dropdown;