@majoo-ui/react 2.0.0 → 2.1.0-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 (203) hide show
  1. package/charts.esm.js +3 -1453
  2. package/colors/Colors.esm.js +93 -0
  3. package/components/accordion/Accordion.esm.js +109 -0
  4. package/components/alertDialog/AlertDialog.esm.js +440 -0
  5. package/components/avatar/Avatar.esm.js +83 -0
  6. package/components/badge/Badge.esm.js +255 -0
  7. package/components/banner/Banner.esm.js +341 -0
  8. package/components/barChart/BarChart.esm.js +212 -0
  9. package/components/breadcrumb/Breadcrumb.esm.js +65 -0
  10. package/components/breadcrumb/index.esm.js +19 -0
  11. package/components/button/Button.esm.js +331 -0
  12. package/components/buttonGroup/ButtonGroup.esm.js +350 -0
  13. package/components/card/Card.esm.js +236 -0
  14. package/components/chart/assets/data_kosong.png.esm.js +3 -0
  15. package/components/chart/lineChart/LineChart.esm.js +358 -0
  16. package/components/chart/lineChart/components/Comparator.esm.js +82 -0
  17. package/components/chart/lineChart/components/ComparatorController.esm.js +112 -0
  18. package/components/chart/lineChart/components/ComparatorItem.esm.js +104 -0
  19. package/components/chart/lineChart/components/ProductList.esm.js +78 -0
  20. package/components/chart/lineChart/components/TitleLegend.esm.js +107 -0
  21. package/components/chart/lineChart/components/Tooltip.esm.js +90 -0
  22. package/components/chart/utils/index.esm.js +109 -0
  23. package/components/checkboxTable/CheckboxTable.esm.js +287 -0
  24. package/components/colorPicker/ColorPicker.esm.js +342 -0
  25. package/components/colorPicker/InputColorPicker.esm.js +120 -0
  26. package/components/colorPicker/assets/img_colormap.gif.esm.js +3 -0
  27. package/components/colorPicker/components/ColorFields.esm.js +144 -0
  28. package/components/colorPicker/components/ColorMap.esm.js +1188 -0
  29. package/components/contentEditor/ContentEditor.esm.js +251 -0
  30. package/components/contentEditor/assets/Inline-code-outline.svg.esm.js +3 -0
  31. package/components/contentEditor/assets/Link-outline.svg.esm.js +3 -0
  32. package/components/contentEditor/assets/List-bulleted-outline.svg.esm.js +3 -0
  33. package/components/contentEditor/assets/List-numbered-outline.svg.esm.js +3 -0
  34. package/components/contentEditor/assets/Redo-outline.svg.esm.js +3 -0
  35. package/components/contentEditor/assets/Text-bold-filled.svg.esm.js +3 -0
  36. package/components/contentEditor/assets/Text-clear-format-outline.svg.esm.js +3 -0
  37. package/components/contentEditor/assets/Text-italic-outline.svg.esm.js +3 -0
  38. package/components/contentEditor/assets/Text-strikethrough-outline.svg.esm.js +3 -0
  39. package/components/contentEditor/assets/Text-underline-outline.svg.esm.js +3 -0
  40. package/components/contentEditor/assets/Undo-outline.svg.esm.js +3 -0
  41. package/components/contextMenu/ContextMenu.esm.js +298 -0
  42. package/components/datePicker/AdvancedOption.esm.js +37 -0
  43. package/components/datePicker/CustomDatePicker.esm.js +121 -0
  44. package/components/datePicker/DatePicker.esm.js +244 -0
  45. package/components/datePicker/DatePickerMulti.esm.js +70 -0
  46. package/components/datePicker/InputDatePicker.esm.js +290 -0
  47. package/components/datePicker/InputDateRangePicker.esm.js +174 -0
  48. package/components/datePicker/components/Calendar.esm.js +654 -0
  49. package/components/datePicker/components/CalendarMulti.esm.js +407 -0
  50. package/components/datePicker/components/CalendarTimePicker.esm.js +104 -0
  51. package/components/datePicker/components/DateNumber.esm.js +89 -0
  52. package/components/datePicker/components/MobileCalendar.esm.js +522 -0
  53. package/components/datePicker/state/reducer.esm.js +286 -0
  54. package/components/datePicker/timePicker/InputTimePicker.esm.js +205 -0
  55. package/components/datePicker/timePicker/TimePicker.esm.js +481 -0
  56. package/components/devicePreview/DevicePreview.esm.js +631 -0
  57. package/components/devicePreview/deviceFrame/android-transparant.png.esm.js +3 -0
  58. package/components/devicePreview/deviceFrame/android-wide-transparant.png.esm.js +3 -0
  59. package/components/devicePreview/deviceFrame/bg-email.png.esm.js +3 -0
  60. package/components/devicePreview/deviceFrame/bg-notification.png.esm.js +3 -0
  61. package/components/devicePreview/deviceFrame/bg-sms.png.esm.js +3 -0
  62. package/components/devicePreview/deviceFrame/bg-whatsapp.png.esm.js +3 -0
  63. package/components/devicePreview/deviceFrame/desktop-transparant.png.esm.js +3 -0
  64. package/components/devicePreview/deviceFrame/ic-majoo-profpic.png.esm.js +3 -0
  65. package/components/devicePreview/deviceFrame/iphone-transparant.png.esm.js +3 -0
  66. package/components/dialog/Dialog.esm.js +106 -0
  67. package/components/drawer/Drawer.esm.js +294 -0
  68. package/components/dropdownMenu/DropdownMenu.esm.js +281 -0
  69. package/components/editableTable/EditableMobile.esm.js +361 -0
  70. package/components/editableTable/EditableTable.esm.js +618 -0
  71. package/components/editableTable/transition.esm.js +37 -0
  72. package/components/form/components/FormGroup/FormGroup.esm.js +142 -0
  73. package/components/form/components/FormHelper/Helper.esm.js +50 -0
  74. package/components/form/components/FormLabel/Label.esm.js +90 -0
  75. package/components/form/components/InputAddon/InputAddon.esm.js +105 -0
  76. package/components/form/components/InputCheckbox/CheckboxGroup.esm.js +60 -0
  77. package/components/form/components/InputCheckbox/InputCheckbox.esm.js +129 -0
  78. package/components/form/components/InputCheckbox/icon/CheckOutline.esm.js +33 -0
  79. package/components/form/components/InputCheckbox/icon/MinusOutline.esm.js +33 -0
  80. package/components/form/components/InputCombobox/InputCombobox.esm.js +169 -0
  81. package/components/form/components/InputCounter/InputCounter.esm.js +226 -0
  82. package/components/form/components/InputCreatable/InputCreatable.esm.js +229 -0
  83. package/components/form/components/InputDateRange/InputDateRange.esm.js +46 -0
  84. package/components/form/components/InputElement/InputElement.esm.js +35 -0
  85. package/components/form/components/InputGroup/InputGroup.esm.js +188 -0
  86. package/components/form/components/InputLetter/InputLetter.esm.js +68 -0
  87. package/components/form/components/InputNumber/InputNumber.esm.js +248 -0
  88. package/components/form/components/InputNumber/NumberFormat.esm.js +1263 -0
  89. package/components/form/components/InputOTP/InputOTP.esm.js +70 -0
  90. package/components/form/components/InputRadio/InputRadio.esm.js +273 -0
  91. package/components/form/components/InputRadio/InputRadioGroup.esm.js +35 -0
  92. package/components/form/components/InputRadio/context.esm.js +5 -0
  93. package/components/form/components/InputResourceList/InputResourceList.esm.js +429 -0
  94. package/components/form/components/InputSearchbox/CloseFilled.esm.js +34 -0
  95. package/components/form/components/InputSearchbox/InputSearchbox.esm.js +90 -0
  96. package/components/form/components/InputSearchbox/SearchOutline.esm.js +26 -0
  97. package/components/form/components/InputSelect/InputSelect.esm.js +964 -0
  98. package/components/form/components/InputSelectCheck/InputSelectCheck.esm.js +1388 -0
  99. package/components/form/components/InputSelectCheck/OptionGroupItem.esm.js +39 -0
  100. package/components/form/components/InputSelectCheck/icon/CheckOutline.esm.js +33 -0
  101. package/components/form/components/InputSelectTag/InputSelectTag.esm.js +62 -0
  102. package/components/form/components/InputSignature/InputSignature.esm.js +122 -0
  103. package/components/form/components/InputSignature/SignatureModal.esm.js +67 -0
  104. package/components/form/components/InputSwitch/InputSwitch.esm.js +96 -0
  105. package/components/form/components/InputSwitch/InputSwitchWithImage.esm.js +136 -0
  106. package/components/form/components/InputTags/InputTags.esm.js +268 -0
  107. package/components/form/components/InputText/InputText.esm.js +197 -0
  108. package/components/form/components/InputTextArea/InputTextArea.esm.js +77 -0
  109. package/components/heading/Heading.esm.js +64 -0
  110. package/components/iconButton/IconButton.esm.js +71 -0
  111. package/components/image/Image.esm.js +141 -0
  112. package/components/link/Link.esm.js +59 -0
  113. package/components/loadingBar/LoadingBar.esm.js +113 -0
  114. package/components/mapPicker/InputMapPicker.esm.js +160 -0
  115. package/components/mapPicker/MapPicker.esm.js +122 -0
  116. package/components/mapPicker/MapPicker.styles.esm.js +70 -0
  117. package/components/mapPicker/assets/images/Mapsicle.png.esm.js +3 -0
  118. package/components/mapPicker/components/AddressCard.esm.js +25 -0
  119. package/components/mapPicker/components/ButtonSelect.esm.js +46 -0
  120. package/components/mapPicker/components/ChangeView.esm.js +20 -0
  121. package/components/mapPicker/components/InputSearch.esm.js +74 -0
  122. package/components/mapPicker/components/MarkerIcon.esm.js +22 -0
  123. package/components/mapPicker/components/MarkerSvg.esm.js +62 -0
  124. package/components/mapPicker/components/ZoomControls.esm.js +36 -0
  125. package/components/mapPicker/hooks/useMapSearch.esm.js +161 -0
  126. package/components/modalDialog/ModalDialog.esm.js +247 -0
  127. package/components/notificationBadge/NotificationBadge.esm.js +149 -0
  128. package/components/pageDialog/PageDialog.esm.js +291 -0
  129. package/components/pageDialog/logo.svg.esm.js +3 -0
  130. package/components/pagination/Pagination.esm.js +94 -0
  131. package/components/pagination/PaginationButton.esm.js +346 -0
  132. package/components/pagination/PaginationInfo.esm.js +146 -0
  133. package/components/paper/Paper.esm.js +76 -0
  134. package/components/paragraph/Paragraph.esm.js +52 -0
  135. package/components/pieChart/PieChart.esm.js +287 -0
  136. package/components/popover/Popover.esm.js +142 -0
  137. package/components/progress/Progress.esm.js +170 -0
  138. package/components/progressIndicator/ProgressIndicator.esm.js +287 -0
  139. package/components/scrollSync/ScrollSync.esm.js +172 -0
  140. package/components/scrollSync/ScrollSyncNode.esm.js +87 -0
  141. package/components/scrollSync/utils.esm.js +9 -0
  142. package/components/separator/Separator.esm.js +43 -0
  143. package/components/skeleton/Skeleton.esm.js +131 -0
  144. package/components/slider/Slider.esm.js +345 -0
  145. package/components/stepWizard/StepWizard.esm.js +451 -0
  146. package/components/stepWizard/index.esm.js +14 -0
  147. package/components/table/MobileTable.esm.js +415 -0
  148. package/components/table/Table.esm.js +1472 -0
  149. package/components/table/components/columns/DateColumn.esm.js +26 -0
  150. package/components/table/components/columns/DecimalColumn.esm.js +36 -0
  151. package/components/table/components/columns/PriceColumn.esm.js +57 -0
  152. package/components/table/components/columns/RowDraggableColumn.esm.js +24 -0
  153. package/components/table/components/columns/RowExpanderColumn.esm.js +32 -0
  154. package/components/table/components/columns/RowExpanderMultipleColumn.esm.js +24 -0
  155. package/components/table/components/columns/RowMenuColumn.esm.js +101 -0
  156. package/components/table/components/columns/RowSelectionCallbackColumn.esm.js +38 -0
  157. package/components/table/components/columns/RowSelectionColumn.esm.js +34 -0
  158. package/components/table/images/img-emptydata.webp.esm.js +3 -0
  159. package/components/table/images/img-emptysearchdata.webp.esm.js +3 -0
  160. package/components/tableOfContent/TableOfContent.esm.js +267 -0
  161. package/components/tableOfContent/index.esm.js +18 -0
  162. package/components/tableOfContent/transition.esm.js +38 -0
  163. package/components/tabs/Tabs.esm.js +282 -0
  164. package/components/tag/Tag.esm.js +161 -0
  165. package/components/tagList/TagList.esm.js +90 -0
  166. package/components/tagStatus/TagStatus.esm.js +134 -0
  167. package/components/text/Text.esm.js +140 -0
  168. package/components/toast/Toast.esm.js +297 -0
  169. package/components/toast/ToastContainer.esm.js +73 -0
  170. package/components/toast/context/ToastContext.esm.js +5 -0
  171. package/components/toast/context/ToastProvider.esm.js +96 -0
  172. package/components/tooltip/Tooltip.esm.js +175 -0
  173. package/components/upload/Upload.esm.js +1103 -0
  174. package/components/upload/utils/canvasPreview.esm.js +39 -0
  175. package/components/upload/utils/imgPreview.esm.js +21 -0
  176. package/config/stitches.config.esm.js +216 -0
  177. package/editor.esm.js +1 -264
  178. package/hooks/useListOption/useListOption.esm.js +56 -0
  179. package/hooks/useToggle/useToggle.esm.js +8 -0
  180. package/index.esm.js +106 -42293
  181. package/layout/box/Box.esm.js +24 -0
  182. package/layout/flex/Flex.esm.js +135 -0
  183. package/layout/grid/Grid.esm.js +270 -0
  184. package/layout/pageContainer/PageContainer.esm.js +60 -0
  185. package/majoo-provider/MajooProvider.esm.js +42 -0
  186. package/majoo-provider/ThemeProvider.esm.js +41 -0
  187. package/majoo-provider/globalStyles.esm.js +242 -0
  188. package/majoo-provider/styles/modern-normalize.esm.js +95 -0
  189. package/map.esm.js +2 -734
  190. package/package.json +16 -5
  191. package/utils/calendar.esm.js +26 -0
  192. package/utils/element.esm.js +21 -0
  193. package/utils/object.esm.js +12 -0
  194. package/utils/request.esm.js +74 -0
  195. package/utils/strings.esm.js +6 -0
  196. package/{useMediaQuery.esm.js → utils/useMediaQuery.esm.js} +1 -1
  197. package/utils/useNavigatorOnline.esm.js +19 -0
  198. package/utils/variant.esm.js +12 -0
  199. package/wrapper/ConditionalWrapper.esm.js +9 -0
  200. package/ModalDialog.esm.js +0 -2669
  201. package/Separator.esm.js +0 -3002
  202. package/stitches.config.esm.js +0 -2284
  203. package/{index.esm.css → charts.esm.css} +4 -4
@@ -0,0 +1,342 @@
1
+ import 'core-js/modules/es.iterator.constructor.js';
2
+ import 'core-js/modules/es.iterator.map.js';
3
+ import { useState } from 'react';
4
+ import { styled } from '../../config/stitches.config.esm.js';
5
+ import Flex from '../../layout/flex/Flex.esm.js';
6
+ import { ColorWrap, Saturation, Hue, Alpha, Swatch } from 'react-color/lib/components/common';
7
+ import * as color from 'react-color/lib/helpers/color';
8
+ import Paragraph from '../paragraph/Paragraph.esm.js';
9
+ import ColorMap, { listGray } from './components/ColorMap.esm.js';
10
+ import ColorFields from './components/ColorFields.esm.js';
11
+ import PropTypes from 'prop-types';
12
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
13
+ import { jsx, jsxs } from 'react/jsx-runtime';
14
+
15
+ const Container = styled(Flex, {
16
+ background: '$white',
17
+ padding: 16,
18
+ borderRadius: 8,
19
+ boxShadow: '0px 10px 15px rgba(31, 41, 55, 0.1), 0px 0px 6px rgba(31, 41, 55, 0.05)',
20
+ width: 264
21
+ });
22
+ const Pointer = styled('div', {
23
+ width: 8,
24
+ height: 8,
25
+ borderRadius: 50,
26
+ background: 'transparent',
27
+ border: '2px solid #FFFFFF',
28
+ cursor: 'pointer'
29
+ });
30
+ const SaturationWrap = styled('div', {
31
+ width: '100%',
32
+ paddingBottom: '75%',
33
+ position: 'relative',
34
+ overflow: 'hidden',
35
+ borderRadius: 4,
36
+ cursor: 'pointer'
37
+ });
38
+ const HueWrap = styled('div', {
39
+ position: 'relative',
40
+ height: '8px',
41
+ overflow: 'hidden',
42
+ borderRadius: 50,
43
+ cursor: 'pointer'
44
+ });
45
+ const AlphaWrap = styled('div', {
46
+ position: 'relative',
47
+ height: '8px',
48
+ marginTop: '4px',
49
+ overflow: 'hidden',
50
+ borderRadius: 50,
51
+ cursor: 'pointer'
52
+ });
53
+ const Colors = styled(Flex, {
54
+ position: 'relative'
55
+ });
56
+ const SwatchWrap = styled('div', {
57
+ width: '16px',
58
+ height: '16px',
59
+ margin: '0 10px 10px 0'
60
+ });
61
+ const Hexagon = ({
62
+ color,
63
+ onClick,
64
+ width,
65
+ height,
66
+ bordered
67
+ }) => {
68
+ return /*#__PURE__*/jsxs("svg", {
69
+ onClick: onClick,
70
+ style: {
71
+ cursor: 'pointer'
72
+ },
73
+ width: width,
74
+ height: height,
75
+ viewBox: "0 0 24 28",
76
+ fill: "none",
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ children: [/*#__PURE__*/jsx("path", {
79
+ d: "M12 0L24 7V21L12 28L0 21V7L12 0Z",
80
+ fill: color
81
+ }), bordered ? /*#__PURE__*/jsx("path", {
82
+ d: "M1 7.57437L12 1.1577L23 7.57437V20.4256L12 26.8423L1 20.4256V7.57437Z",
83
+ stroke: "rgba(0, 0, 0, 0.2)",
84
+ strokeOpacity: "0.5",
85
+ strokeWidth: "3"
86
+ }) : /*#__PURE__*/jsx("path", {
87
+ d: "M1 7.57437L12 1.1577L23 7.57437V20.4256L12 26.8423L1 20.4256V7.57437Z"
88
+ })]
89
+ });
90
+ };
91
+ Hexagon.defaultProps = {
92
+ width: 14,
93
+ height: 16
94
+ };
95
+ const Tabs = styled(TabsPrimitive.Root, {});
96
+ const TabsList = styled(TabsPrimitive.List, {
97
+ display: 'flex'
98
+ });
99
+ const TabsTrigger = styled(TabsPrimitive.Trigger, {
100
+ userSelect: 'none',
101
+ backgroundColor: 'transparent',
102
+ all: 'unset',
103
+ padding: 8,
104
+ display: 'flex',
105
+ alignItems: 'center',
106
+ justifyContent: 'center',
107
+ flex: 1,
108
+ fontWeight: 400,
109
+ fontSize: 14,
110
+ cursor: 'pointer',
111
+ '&:first-child': {
112
+ borderTopLeftRadius: 6,
113
+ borderBottomLeftRadius: 6
114
+ },
115
+ '&:last-child': {
116
+ borderTopRightRadius: 6,
117
+ borderBottomRightRadius: 6
118
+ },
119
+ '&[data-state="active"]': {
120
+ backgroundColor: '$btnPrimary',
121
+ color: '$textWhite'
122
+ }
123
+ });
124
+ const TabsContent = styled(TabsPrimitive.Content, {});
125
+ function ColorPicker({
126
+ hsl,
127
+ hsv,
128
+ rgb,
129
+ hex,
130
+ renderers,
131
+ presetColors,
132
+ onChange,
133
+ onSwatchHover,
134
+ onAddColor,
135
+ disableAlpha
136
+ }) {
137
+ const [check, setCheck] = useState('Hex');
138
+ function toggleCheck() {
139
+ setCheck(check === 'Hex' ? 'RGB' : 'Hex');
140
+ }
141
+ const handleChange = (data, e) => {
142
+ if (data.hex) {
143
+ color.isValidHex(data.hex) && onChange({
144
+ hex: data.hex,
145
+ source: 'hex'
146
+ }, e);
147
+ } else if (data.r || data.g || data.b) {
148
+ onChange({
149
+ r: data.r || rgb.r,
150
+ g: data.g || rgb.g,
151
+ b: data.b || rgb.b,
152
+ a: rgb.a,
153
+ source: 'rgb'
154
+ }, e);
155
+ } else if (data.a) {
156
+ if (data.a < 0) {
157
+ data.a = 0;
158
+ } else if (data.a > 100) {
159
+ data.a = 100;
160
+ }
161
+ data.a /= 100;
162
+ onChange({
163
+ h: hsl.h,
164
+ s: hsl.s,
165
+ l: hsl.l,
166
+ a: data.a,
167
+ source: 'rgb'
168
+ }, e);
169
+ }
170
+ };
171
+ return /*#__PURE__*/jsx(Container, {
172
+ children: /*#__PURE__*/jsx(Tabs, {
173
+ defaultValue: "tab1",
174
+ children: /*#__PURE__*/jsxs(Flex, {
175
+ direction: "column",
176
+ gap: 5,
177
+ children: [/*#__PURE__*/jsxs(TabsList, {
178
+ children: [/*#__PURE__*/jsx(TabsTrigger, {
179
+ value: "tab1",
180
+ children: "Selection"
181
+ }), /*#__PURE__*/jsx(TabsTrigger, {
182
+ value: "tab2",
183
+ children: "Palette"
184
+ })]
185
+ }), /*#__PURE__*/jsx(TabsContent, {
186
+ value: "tab1",
187
+ children: /*#__PURE__*/jsxs(Flex, {
188
+ direction: "column",
189
+ gap: 5,
190
+ children: [/*#__PURE__*/jsx(SaturationWrap, {
191
+ children: /*#__PURE__*/jsx(Saturation, {
192
+ pointer: Pointer,
193
+ hsl: hsl,
194
+ hsv: hsv,
195
+ onChange: onChange
196
+ })
197
+ }), /*#__PURE__*/jsx(HueWrap, {
198
+ children: /*#__PURE__*/jsx(Hue, {
199
+ pointer: Pointer,
200
+ hsl: hsl,
201
+ onChange: onChange
202
+ })
203
+ }), !disableAlpha && /*#__PURE__*/jsx(AlphaWrap, {
204
+ children: /*#__PURE__*/jsx(Alpha, {
205
+ pointer: Pointer,
206
+ rgb: rgb,
207
+ hsl: hsl,
208
+ renderers: renderers,
209
+ onChange: onChange
210
+ })
211
+ }), /*#__PURE__*/jsx(ColorFields, {
212
+ rgb: rgb,
213
+ hex: hex,
214
+ disableAlpha: disableAlpha,
215
+ check: check,
216
+ onChange: handleChange,
217
+ onChangeCheck: toggleCheck
218
+ }), /*#__PURE__*/jsxs(Flex, {
219
+ justify: "between",
220
+ children: [/*#__PURE__*/jsx(Paragraph, {
221
+ css: {
222
+ fontSize: 12,
223
+ fontWeight: 600
224
+ },
225
+ children: "Saved colors:"
226
+ }), !!onAddColor && /*#__PURE__*/jsx(Paragraph, {
227
+ css: {
228
+ fontSize: 12,
229
+ fontWeight: 600,
230
+ color: '$gray500',
231
+ cursor: 'pointer',
232
+ userSelect: 'none',
233
+ '&:hover': {
234
+ color: '$gray400'
235
+ }
236
+ },
237
+ onClick: onAddColor,
238
+ children: "+ Add"
239
+ })]
240
+ }), /*#__PURE__*/jsx(Colors, {
241
+ wrap: "wrap",
242
+ gap: 3,
243
+ children: presetColors.map(colorObjOrString => {
244
+ const c = typeof colorObjOrString === 'string' ? {
245
+ color: colorObjOrString
246
+ } : colorObjOrString;
247
+ const key = `${c.color}${c.title || ''}`;
248
+ return /*#__PURE__*/jsx(SwatchWrap, {
249
+ children: /*#__PURE__*/jsx(Swatch, {
250
+ ...c,
251
+ onClick: onChange,
252
+ onHover: onSwatchHover,
253
+ style: {
254
+ borderRadius: 50,
255
+ width: 24,
256
+ height: 24
257
+ },
258
+ focusStyle: {
259
+ boxShadow: `inset 0 0 0 1px rgba(0,0,0,.15), 0 0 4px ${c.color}`
260
+ }
261
+ })
262
+ }, key);
263
+ })
264
+ })]
265
+ })
266
+ }), /*#__PURE__*/jsx(TabsContent, {
267
+ value: "tab2",
268
+ children: /*#__PURE__*/jsxs(Flex, {
269
+ direction: "column",
270
+ gap: 5,
271
+ children: [/*#__PURE__*/jsx(ColorMap, {
272
+ onClick: handleChange
273
+ }), /*#__PURE__*/jsxs(Flex, {
274
+ justify: "evenly",
275
+ children: [/*#__PURE__*/jsxs(Flex, {
276
+ direction: "column",
277
+ children: [/*#__PURE__*/jsx(Flex, {
278
+ wrap: "wrap",
279
+ css: {
280
+ marginLeft: 6,
281
+ marginBottom: '-4px'
282
+ },
283
+ children: listGray.map((item, index) => {
284
+ return index < 7 && /*#__PURE__*/jsx(Hexagon, {
285
+ color: item,
286
+ onClick: e => handleChange({
287
+ hex: item
288
+ }, e)
289
+ }, index);
290
+ })
291
+ }), /*#__PURE__*/jsx(Flex, {
292
+ wrap: "wrap",
293
+ children: listGray.map((item, index) => {
294
+ return index >= 7 && /*#__PURE__*/jsx(Hexagon, {
295
+ color: item,
296
+ onClick: e => handleChange({
297
+ hex: item
298
+ }, e)
299
+ }, index);
300
+ })
301
+ })]
302
+ }), /*#__PURE__*/jsx(Hexagon, {
303
+ width: 24,
304
+ height: 28,
305
+ color: hex,
306
+ bordered: true
307
+ })]
308
+ })]
309
+ })
310
+ })]
311
+ })
312
+ })
313
+ });
314
+ }
315
+ ColorPicker.propTypes = {
316
+ /**
317
+ Color code to be displayed.
318
+ */
319
+ color: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
320
+ /**
321
+ Additional color list
322
+ */
323
+ presetColors: PropTypes.array,
324
+ /**
325
+ Change event handler
326
+ */
327
+ onChange: PropTypes.func,
328
+ /**
329
+ Add preset color event handler
330
+ */
331
+ onAddColor: PropTypes.func,
332
+ /**
333
+ Disable opacity selector
334
+ */
335
+ disableAlpha: PropTypes.bool
336
+ };
337
+ ColorPicker.defaultProps = {
338
+ presetColors: ['#EF4444', '#F97316', '#FACC15', '#4ADE80', '#2DD4BF', '#3B82F6', '#6467F2', '#EC4899', '#F43F5E', '#D946EF', '#8B5CF6', '#0EA5E9', '#10B981', '#84CC16']
339
+ };
340
+ var ColorPicker$1 = ColorWrap(ColorPicker);
341
+
342
+ export { ColorPicker$1 as default };
@@ -0,0 +1,120 @@
1
+ import { useState } from 'react';
2
+ import { styled } from '../../config/stitches.config.esm.js';
3
+ import ColorPicker from './ColorPicker.esm.js';
4
+ import { InputGroup } from '../form/components/InputGroup/InputGroup.esm.js';
5
+ import { InputLeftElement } from '../form/components/InputElement/InputElement.esm.js';
6
+ import { InputText } from '../form/components/InputText/InputText.esm.js';
7
+ import Box from '../../layout/box/Box.esm.js';
8
+ import PropTypes from 'prop-types';
9
+ import { jsxs, jsx } from 'react/jsx-runtime';
10
+ import { Popover, PopoverTrigger, PopoverContent } from '../popover/Popover.esm.js';
11
+
12
+ const Separator = styled('div', {
13
+ height: 20,
14
+ width: 1,
15
+ backgroundColor: '$iconSecondary',
16
+ marginRight: 4
17
+ });
18
+ function InputColorPicker(props) {
19
+ const [isPopover, setIsPopover] = useState(false);
20
+ function getColor() {
21
+ const color = props?.color;
22
+ if (typeof color === 'string') {
23
+ return color?.toUpperCase();
24
+ }
25
+ return `rgba(${color.r},${color.g},${color.b},${color.a})`;
26
+ }
27
+ function renderInputGroup() {
28
+ return /*#__PURE__*/jsxs(InputGroup, {
29
+ size: props.size,
30
+ disabled: props.disabled,
31
+ ...(!props.disabled && {
32
+ onClick: () => setIsPopover(true)
33
+ }),
34
+ children: [/*#__PURE__*/jsx(InputLeftElement, {
35
+ children: /*#__PURE__*/jsx(Box, {
36
+ css: {
37
+ width: 16,
38
+ height: 16,
39
+ borderRadius: 2,
40
+ backgroundColor: getColor()
41
+ }
42
+ })
43
+ }), /*#__PURE__*/jsx(Separator, {}), /*#__PURE__*/jsx(InputText, {
44
+ isPicker: true,
45
+ placeholder: "Select color",
46
+ value: getColor()
47
+ })]
48
+ });
49
+ }
50
+ function renderColorPicker() {
51
+ return /*#__PURE__*/jsx(ColorPicker, {
52
+ ...props
53
+ });
54
+ }
55
+ return /*#__PURE__*/jsxs(Popover, {
56
+ open: isPopover,
57
+ onOpenChange: setIsPopover,
58
+ placement: props.placement,
59
+ children: [/*#__PURE__*/jsx(PopoverTrigger, {
60
+ disabled: props.disabled,
61
+ children: renderInputGroup()
62
+ }), /*#__PURE__*/jsx(PopoverContent, {
63
+ isMobile: props.isMobile,
64
+ style: props.popoverCss,
65
+ children: renderColorPicker()
66
+ })]
67
+ });
68
+ }
69
+ InputColorPicker.displayName = 'InputColorPicker';
70
+ InputColorPicker.propTypes = {
71
+ /**
72
+ Specify change InputColorPicker size.
73
+ */
74
+ size: PropTypes.oneOf(['sm', 'lg']),
75
+ /**
76
+ Color code to be displayed.
77
+ */
78
+ color: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),
79
+ /**
80
+ Additional color list.
81
+ */
82
+ presetColors: PropTypes.array,
83
+ /**
84
+ Change event handler.
85
+ */
86
+ onChange: PropTypes.func,
87
+ /**
88
+ Add preset color event handler.
89
+ */
90
+ onAddColor: PropTypes.func,
91
+ /**
92
+ Disable opacity selector.
93
+ */
94
+ disableAlpha: PropTypes.bool,
95
+ /**
96
+ Input placement.
97
+ */
98
+ placement: PropTypes.string,
99
+ /**
100
+ Define is mobile layout or not.
101
+ */
102
+ isMobile: PropTypes.bool,
103
+ /**
104
+ Define popover custom styling.
105
+ */
106
+ popoverCss: PropTypes.shape({}),
107
+ /**
108
+ Disabled state.
109
+ */
110
+ disabled: PropTypes.bool
111
+ };
112
+ InputColorPicker.defaultProps = {
113
+ size: 'sm',
114
+ presetColors: ['#EF4444', '#F97316', '#FACC15', '#4ADE80', '#2DD4BF', '#3B82F6', '#6467F2', '#EC4899', '#F43F5E', '#D946EF', '#8B5CF6', '#0EA5E9', '#10B981', '#84CC16'],
115
+ placement: 'bottom-start',
116
+ isMobile: false,
117
+ popoverCss: {}
118
+ };
119
+
120
+ export { InputColorPicker as default };
@@ -0,0 +1,3 @@
1
+ var img = "data:image/gif;base64,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";
2
+
3
+ export { img as default };
@@ -0,0 +1,144 @@
1
+ import React__default from 'react';
2
+ import { EditableInput } from 'react-color/lib/components/common';
3
+ import Box from '../../../layout/box/Box.esm.js';
4
+ import Flex from '../../../layout/flex/Flex.esm.js';
5
+ import { ChevronUpDownOutline } from '@majoo-ui/icons';
6
+ import { styled } from '../../../config/stitches.config.esm.js';
7
+ import { jsxs, jsx } from 'react/jsx-runtime';
8
+
9
+ const CheckBoard = styled(Flex, {
10
+ background: '$bgwhite',
11
+ border: '1px solid #E5E7EB',
12
+ boxShadow: '0px 1px 2px rgba(31, 41, 55, 0.08)',
13
+ borderRadius: 4,
14
+ height: 28,
15
+ padding: '4px 6px',
16
+ cursor: 'pointer',
17
+ fontWeight: 400,
18
+ fontSize: 14
19
+ });
20
+ const editableInputStyle = {
21
+ input: {
22
+ maxWidth: 95,
23
+ background: '$bgwhite',
24
+ border: '1px solid #E5E7EB',
25
+ boxShadow: '0px 1px 2px rgba(31, 41, 55, 0.08)',
26
+ borderRadius: 4,
27
+ height: 28,
28
+ padding: '4px 6px',
29
+ width: '100%',
30
+ fontWeight: 400,
31
+ fontSize: 14,
32
+ outline: 'none'
33
+ },
34
+ label: {
35
+ display: 'none'
36
+ }
37
+ };
38
+ function ColorFields({
39
+ rgb,
40
+ hex,
41
+ check,
42
+ disableAlpha,
43
+ onChange,
44
+ onChangeCheck
45
+ }) {
46
+ return /*#__PURE__*/jsxs(Flex, {
47
+ direction: "row",
48
+ justify: "between",
49
+ gap: 2,
50
+ children: [/*#__PURE__*/jsxs(CheckBoard, {
51
+ justify: "between",
52
+ align: "center",
53
+ gap: 1,
54
+ onClick: onChangeCheck,
55
+ children: [check, /*#__PURE__*/jsx(ChevronUpDownOutline, {
56
+ color: "#9CA3AF",
57
+ size: 20
58
+ })]
59
+ }), check === 'Hex' ? /*#__PURE__*/jsxs(Box, {
60
+ css: {
61
+ position: 'relative'
62
+ },
63
+ children: [/*#__PURE__*/jsx(EditableInput, {
64
+ label: "hex",
65
+ style: {
66
+ input: {
67
+ ...editableInputStyle.input,
68
+ paddingLeft: 16
69
+ },
70
+ label: {
71
+ ...editableInputStyle.label
72
+ }
73
+ },
74
+ value: hex.replace('#', ''),
75
+ onChange: onChange
76
+ }), /*#__PURE__*/jsx(Box, {
77
+ css: {
78
+ position: 'absolute',
79
+ top: 5,
80
+ left: 5,
81
+ bottom: 5,
82
+ userSelect: 'none',
83
+ color: '$gray400'
84
+ },
85
+ children: "#"
86
+ })]
87
+ }) : /*#__PURE__*/jsxs(React__default.Fragment, {
88
+ children: [/*#__PURE__*/jsx(EditableInput, {
89
+ label: "r",
90
+ style: editableInputStyle,
91
+ value: rgb.r,
92
+ onChange: onChange,
93
+ dragLabel: "true",
94
+ dragMax: "255"
95
+ }), /*#__PURE__*/jsx(EditableInput, {
96
+ label: "g",
97
+ style: editableInputStyle,
98
+ value: rgb.g,
99
+ onChange: onChange,
100
+ dragLabel: "true",
101
+ dragMax: "255"
102
+ }), /*#__PURE__*/jsx(EditableInput, {
103
+ label: "b",
104
+ style: editableInputStyle,
105
+ value: rgb.b,
106
+ onChange: onChange,
107
+ dragLabel: "true",
108
+ dragMax: "255"
109
+ })]
110
+ }), !disableAlpha && /*#__PURE__*/jsxs(Box, {
111
+ css: {
112
+ position: 'relative'
113
+ },
114
+ children: [/*#__PURE__*/jsx(EditableInput, {
115
+ label: "a",
116
+ style: {
117
+ input: {
118
+ ...editableInputStyle.input,
119
+ paddingRight: 12,
120
+ width: 50
121
+ },
122
+ label: {
123
+ ...editableInputStyle.label
124
+ }
125
+ },
126
+ value: Math.round(rgb.a * 100),
127
+ onChange: onChange,
128
+ dragLabel: "true",
129
+ dragMax: "100"
130
+ }), /*#__PURE__*/jsx(Box, {
131
+ css: {
132
+ position: 'absolute',
133
+ top: 5,
134
+ right: 5,
135
+ bottom: 5,
136
+ userSelect: 'none'
137
+ },
138
+ children: "%"
139
+ })]
140
+ })]
141
+ });
142
+ }
143
+
144
+ export { ColorFields as default };