react-restyle-components 0.4.12 → 0.4.14

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 (78) hide show
  1. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.d.ts +1 -1
  2. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.d.ts.map +1 -1
  3. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +71 -20
  4. package/lib/src/core-components/src/components/Accordion/collapsible/collapsible.component.d.ts +22 -2
  5. package/lib/src/core-components/src/components/Accordion/collapsible/collapsible.component.d.ts.map +1 -1
  6. package/lib/src/core-components/src/components/Accordion/collapsible/collapsible.component.js +2 -2
  7. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts +58 -1
  8. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts.map +1 -1
  9. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +11 -11
  10. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.d.ts +26 -1
  11. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.d.ts.map +1 -1
  12. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +11 -11
  13. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.d.ts +28 -1
  14. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.d.ts.map +1 -1
  15. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +7 -5
  16. package/lib/src/core-components/src/components/Avatar/Avatar.d.ts +25 -1
  17. package/lib/src/core-components/src/components/Avatar/Avatar.d.ts.map +1 -1
  18. package/lib/src/core-components/src/components/Avatar/Avatar.js +4 -4
  19. package/lib/src/core-components/src/components/Badge/Badge.d.ts +17 -3
  20. package/lib/src/core-components/src/components/Badge/Badge.d.ts.map +1 -1
  21. package/lib/src/core-components/src/components/Badge/Badge.js +2 -2
  22. package/lib/src/core-components/src/components/Button1/button.component.d.ts +13 -2
  23. package/lib/src/core-components/src/components/Button1/button.component.d.ts.map +1 -1
  24. package/lib/src/core-components/src/components/Button1/button.component.js +2 -2
  25. package/lib/src/core-components/src/components/Button1/buttonGroup/buttonGroup.component.d.ts +18 -4
  26. package/lib/src/core-components/src/components/Button1/buttonGroup/buttonGroup.component.d.ts.map +1 -1
  27. package/lib/src/core-components/src/components/Button1/buttonGroup/buttonGroup.component.js +1 -1
  28. package/lib/src/core-components/src/components/Icon/Icon.d.ts +27 -12
  29. package/lib/src/core-components/src/components/Icon/Icon.d.ts.map +1 -1
  30. package/lib/src/core-components/src/components/Icon/Icon.js +8 -8
  31. package/lib/src/core-components/src/components/Loader/loader.component.d.ts +38 -1
  32. package/lib/src/core-components/src/components/Loader/loader.component.d.ts.map +1 -1
  33. package/lib/src/core-components/src/components/Loader/loader.component.js +12 -7
  34. package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.d.ts +42 -2
  35. package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.d.ts.map +1 -1
  36. package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.js +15 -8
  37. package/lib/src/core-components/src/components/Modal/ModalDocxContent/gemini.service.d.ts +4 -0
  38. package/lib/src/core-components/src/components/Modal/ModalDocxContent/gemini.service.d.ts.map +1 -0
  39. package/lib/src/core-components/src/components/Modal/ModalDocxContent/gemini.service.js +70 -0
  40. package/lib/src/core-components/src/components/Modal/ModalDocxContent/modal-docx-content.component.d.ts +43 -0
  41. package/lib/src/core-components/src/components/Modal/ModalDocxContent/modal-docx-content.component.d.ts.map +1 -0
  42. package/lib/src/core-components/src/components/Modal/ModalDocxContent/modal-docx-content.component.js +841 -0
  43. package/lib/src/core-components/src/components/Modal/index.d.ts +1 -0
  44. package/lib/src/core-components/src/components/Modal/index.d.ts.map +1 -1
  45. package/lib/src/core-components/src/components/Modal/index.js +1 -0
  46. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.d.ts +54 -2
  47. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.d.ts.map +1 -1
  48. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +5 -5
  49. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.d.ts +26 -4
  50. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.d.ts.map +1 -1
  51. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +2 -2
  52. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.d.ts +42 -1
  53. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.d.ts.map +1 -1
  54. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +4 -4
  55. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.d.ts +38 -2
  56. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.d.ts.map +1 -1
  57. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +8 -6
  58. package/lib/src/core-components/src/components/Stepper2/stepper.component.d.ts +38 -2
  59. package/lib/src/core-components/src/components/Stepper2/stepper.component.d.ts.map +1 -1
  60. package/lib/src/core-components/src/components/Stepper2/stepper.component.js +12 -7
  61. package/lib/src/core-components/src/components/Tabs/tabs.component.d.ts +33 -3
  62. package/lib/src/core-components/src/components/Tabs/tabs.component.d.ts.map +1 -1
  63. package/lib/src/core-components/src/components/Tabs/tabs.component.js +8 -5
  64. package/lib/src/core-components/src/components/Tags1/Tags.component.d.ts +46 -1
  65. package/lib/src/core-components/src/components/Tags1/Tags.component.d.ts.map +1 -1
  66. package/lib/src/core-components/src/components/Tags1/Tags.component.js +5 -5
  67. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts +21 -2
  68. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts.map +1 -1
  69. package/lib/src/core-components/src/components/Tooltip/tooltip.component.js +2 -2
  70. package/lib/src/core-components/src/tc.global.css +4 -2
  71. package/lib/src/core-components/src/tc.module.css +2 -2
  72. package/lib/src/core-components/src/utils/index.d.ts +1 -0
  73. package/lib/src/core-components/src/utils/index.d.ts.map +1 -1
  74. package/lib/src/core-components/src/utils/index.js +1 -0
  75. package/lib/src/core-components/src/utils/jodit-editor-config.util.d.ts +189 -0
  76. package/lib/src/core-components/src/utils/jodit-editor-config.util.d.ts.map +1 -0
  77. package/lib/src/core-components/src/utils/jodit-editor-config.util.js +333 -0
  78. package/package.json +3 -1
@@ -1,3 +1,4 @@
1
1
  export * from './BasicModal/modal.component';
2
2
  export * from './modal-confirm/modal-confirm.component';
3
+ export * from './ModalDocxContent/modal-docx-content.component';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './BasicModal/modal.component';
2
2
  export * from './modal-confirm/modal-confirm.component';
3
+ export * from './ModalDocxContent/modal-docx-content.component';
@@ -1,4 +1,52 @@
1
- import React from 'react';
1
+ import React, { CSSProperties } from 'react';
2
+ export interface ModalConfirmClassNames {
3
+ /** Custom className for the overlay */
4
+ overlay?: string;
5
+ /** Custom className for the container */
6
+ container?: string;
7
+ /** Custom className for the modal wrapper */
8
+ wrapper?: string;
9
+ /** Custom className for the content */
10
+ content?: string;
11
+ /** Custom className for the header */
12
+ header?: string;
13
+ /** Custom className for the title */
14
+ title?: string;
15
+ /** Custom className for the close button */
16
+ closeButton?: string;
17
+ /** Custom className for the body */
18
+ body?: string;
19
+ /** Custom className for the footer */
20
+ footer?: string;
21
+ /** Custom className for the cancel button */
22
+ cancelButton?: string;
23
+ /** Custom className for the submit button */
24
+ submitButton?: string;
25
+ }
26
+ export interface ModalConfirmStyles {
27
+ /** Custom style for the overlay */
28
+ overlay?: CSSProperties;
29
+ /** Custom style for the container */
30
+ container?: CSSProperties;
31
+ /** Custom style for the modal wrapper */
32
+ wrapper?: CSSProperties;
33
+ /** Custom style for the content */
34
+ content?: CSSProperties;
35
+ /** Custom style for the header */
36
+ header?: CSSProperties;
37
+ /** Custom style for the title */
38
+ title?: CSSProperties;
39
+ /** Custom style for the close button */
40
+ closeButton?: CSSProperties;
41
+ /** Custom style for the body */
42
+ body?: CSSProperties;
43
+ /** Custom style for the footer */
44
+ footer?: CSSProperties;
45
+ /** Custom style for the cancel button */
46
+ cancelButton?: CSSProperties;
47
+ /** Custom style for the submit button */
48
+ submitButton?: CSSProperties;
49
+ }
2
50
  export interface ModalConfirmProps {
3
51
  visible: boolean;
4
52
  title?: string;
@@ -7,8 +55,12 @@ export interface ModalConfirmProps {
7
55
  closeTitle?: string;
8
56
  isClick?: boolean;
9
57
  isClose?: boolean;
58
+ /** Custom classNames for component parts */
59
+ classNames?: ModalConfirmClassNames;
60
+ /** Custom inline styles for component parts */
61
+ styles?: ModalConfirmStyles;
10
62
  onClick: () => void;
11
63
  onClose: () => void;
12
64
  }
13
- export declare const ModalConfirm: ({ visible, title, message, submitTitle, closeTitle, isClick, isClose, onClick, onClose, }: ModalConfirmProps) => import("react/jsx-runtime").JSX.Element;
65
+ export declare const ModalConfirm: ({ visible, title, message, submitTitle, closeTitle, isClick, isClose, classNames, styles, onClick, onClose, }: ModalConfirmProps) => import("react/jsx-runtime").JSX.Element;
14
66
  //# sourceMappingURL=modal-confirm.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-confirm.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAMjD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,8FAUtB,iBAAiB,4CA0LnB,CAAC"}
1
+ {"version":3,"file":"modal-confirm.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAsB,aAAa,EAAC,MAAM,OAAO,CAAC;AAMhE,MAAM,WAAW,sBAAsB;IACrC,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,qCAAqC;IACrC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,yCAAyC;IACzC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,iCAAiC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,gCAAgC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,yCAAyC;IACzC,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,kHAYtB,iBAAiB,4CAwMnB,CAAC"}
@@ -3,19 +3,19 @@ import { useEffect, useState } from 'react';
3
3
  import { Container } from 'reactstrap';
4
4
  import s from '../../../tc.module.css';
5
5
  import { cn } from '../../../utils';
6
- export const ModalConfirm = ({ visible = false, title = 'Confirm', message, submitTitle = 'Send', closeTitle = 'Close', isClick = true, isClose = true, onClick, onClose, }) => {
6
+ export const ModalConfirm = ({ visible = false, title = 'Confirm', message, submitTitle = 'Send', closeTitle = 'Close', isClick = true, isClose = true, classNames = {}, styles = {}, onClick, onClose, }) => {
7
7
  const [showModal, setShowModal] = useState(visible);
8
8
  useEffect(() => {
9
9
  setShowModal(visible);
10
10
  // eslint-disable-next-line react-hooks/exhaustive-deps
11
11
  }, [visible]);
12
- return (_jsx(_Fragment, { children: _jsx(Container, { children: showModal && (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(s['flex'], s['justify-center'], s['items-center'], s['overflow-x-hidden'], s['overflow-y-auto'], s['fixed'], s['inset-0'], s['z-50'], s['outline-none'], s['focus:outline-none']), children: _jsx("div", { className: cn(s['relative'], s['my-6'], s['mx-auto']), children: _jsxs("div", { className: cn(s['border-0'], s['rounded-lg'], s['shadow-lg'], s['relative'], s['flex'], s['flex-col'], s['w-fit'], s['min-w-80'], s['bg-white'], s['outline-none'], s['focus:outline-none']), children: [_jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-between'], s['p-2'], s['border-b'], s['border-solid'], s['border-gray-300'], s['rounded-t']), children: [_jsx("h3", { className: cn(s['text-2xl'], s['font-semibold']), children: title }), _jsx("button", { className: cn(s['p-1'], s['border-0'], s['text-black'], s['opacity-1'], s['ml-6'], s['float-right'], s['text-3xl'], s['leading-none'], s['font-semibold'], s['outline-none'], s['focus:outline-none']), onClick: () => {
12
+ return (_jsx(_Fragment, { children: _jsx(Container, { children: showModal && (_jsxs(_Fragment, { children: [_jsx("div", { className: cn(s['flex'], s['justify-center'], s['items-center'], s['overflow-x-hidden'], s['overflow-y-auto'], s['fixed'], s['inset-0'], s['z-50'], s['outline-none'], s['focus:outline-none'], classNames.container), style: styles.container, children: _jsx("div", { className: cn(s['relative'], s['my-6'], s['mx-auto'], classNames.wrapper), style: styles.wrapper, children: _jsxs("div", { className: cn(s['border-0'], s['rounded-lg'], s['shadow-lg'], s['relative'], s['flex'], s['flex-col'], s['w-fit'], s['min-w-80'], s['bg-white'], s['outline-none'], s['focus:outline-none'], classNames.content), style: styles.content, children: [_jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-between'], s['p-2'], s['border-b'], s['border-solid'], s['border-gray-300'], s['rounded-t'], classNames.header), style: styles.header, children: [_jsx("h3", { className: cn(s['text-2xl'], s['font-semibold'], classNames.title), style: styles.title, children: title }), _jsx("button", { className: cn(s['p-1'], s['border-0'], s['text-black'], s['opacity-1'], s['ml-6'], s['float-right'], s['text-3xl'], s['leading-none'], s['font-semibold'], s['outline-none'], s['focus:outline-none'], classNames.closeButton), style: styles.closeButton, onClick: () => {
13
13
  setShowModal(false);
14
14
  onClose && onClose();
15
- }, children: _jsx("span", { className: cn(s['text-black'], s['h-6'], s['w-6'], s['text-2xl'], s['block'], s['outline-none'], s['focus:outline-none']), children: "\u00D7" }) })] }), _jsx("div", { className: cn(s['flex'], s['p-2']), children: _jsx("div", { className: cn(s['flex']), children: typeof message === 'string' ? (_jsx("span", { className: cn(s['text-md']), children: message })) : (message) }) }), _jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-end'], s['p-2'], s['border-t'], s['border-solid'], s['border-gray-300'], s['rounded-b']), children: [isClose && (_jsx("button", { className: cn(s['text-red-500'], s['background-transparent'], s['font-bold'], s['uppercase'], s['p-2'], s['text-sm'], s['outline-none'], s['focus:outline-none'], s['mr-1'], s['mb-1']), type: "button", style: { transition: 'all .15s ease' }, onClick: () => {
15
+ }, children: _jsx("span", { className: cn(s['text-black'], s['h-6'], s['w-6'], s['text-2xl'], s['block'], s['outline-none'], s['focus:outline-none']), children: "\u00D7" }) })] }), _jsx("div", { className: cn(s['flex'], s['p-2'], classNames.body), style: styles.body, children: _jsx("div", { className: cn(s['flex']), children: typeof message === 'string' ? (_jsx("span", { className: cn(s['text-md']), children: message })) : (message) }) }), _jsxs("div", { className: cn(s['flex'], s['items-center'], s['justify-end'], s['p-2'], s['border-t'], s['border-solid'], s['border-gray-300'], s['rounded-b'], classNames.footer), style: styles.footer, children: [isClose && (_jsx("button", { className: cn(s['text-red-500'], s['background-transparent'], s['font-bold'], s['uppercase'], s['p-2'], s['text-sm'], s['outline-none'], s['focus:outline-none'], s['mr-1'], s['mb-1'], classNames.cancelButton), type: "button", style: { transition: 'all .15s ease', ...styles.cancelButton }, onClick: () => {
16
16
  setShowModal(false);
17
17
  onClose && onClose();
18
- }, children: closeTitle })), isClick && (_jsx("button", { className: cn(s['bg-green-500'], s['text-white'], s['active:bg-green-600'], s['font-bold'], s['uppercase'], s['text-sm'], s['p-2'], s['rounded'], s['shadow'], s['hover:shadow-lg'], s['outline-none'], s['focus:outline-none'], s['mr-1'], s['mb-1']), type: "button", style: { transition: 'all .15s ease' }, onClick: () => {
18
+ }, children: closeTitle })), isClick && (_jsx("button", { className: cn(s['bg-green-500'], s['text-white'], s['active:bg-green-600'], s['font-bold'], s['uppercase'], s['text-sm'], s['p-2'], s['rounded'], s['shadow'], s['hover:shadow-lg'], s['outline-none'], s['focus:outline-none'], s['mr-1'], s['mb-1'], classNames.submitButton), type: "button", style: { transition: 'all .15s ease', ...styles.submitButton }, onClick: () => {
19
19
  onClick();
20
- }, children: submitTitle }))] })] }) }) }), _jsx("div", { className: cn(s['opacity-25'], s['fixed'], s['inset-0'], s['z-40'], s['bg-black']) })] })) }) }));
20
+ }, children: submitTitle }))] })] }) }) }), _jsx("div", { className: cn(s['opacity-25'], s['fixed'], s['inset-0'], s['z-40'], s['bg-black'], classNames.overlay), style: styles.overlay })] })) }) }));
21
21
  };
@@ -1,6 +1,28 @@
1
+ import { CSSProperties } from 'react';
1
2
  import './color-picker.css';
2
- export declare const ColorPicker: ({ color, onChange }: {
3
- color: any;
4
- onChange: any;
5
- }) => import("react/jsx-runtime").JSX.Element;
3
+ export interface ColorPickerClassNames {
4
+ /** Custom className for the picker container */
5
+ container?: string;
6
+ /** Custom className for the color swatch */
7
+ swatch?: string;
8
+ /** Custom className for the popover */
9
+ popover?: string;
10
+ }
11
+ export interface ColorPickerStyles {
12
+ /** Custom style for the picker container */
13
+ container?: CSSProperties;
14
+ /** Custom style for the color swatch */
15
+ swatch?: CSSProperties;
16
+ /** Custom style for the popover */
17
+ popover?: CSSProperties;
18
+ }
19
+ export interface ColorPickerProps {
20
+ color: string;
21
+ onChange: (color: string) => void;
22
+ /** Custom classNames for component parts */
23
+ classNames?: ColorPickerClassNames;
24
+ /** Custom inline styles for component parts */
25
+ styles?: ColorPickerStyles;
26
+ }
27
+ export declare const ColorPicker: ({ color, onChange, classNames, styles }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
6
28
  //# sourceMappingURL=color-picker.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"color-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Picker/color-picker/color-picker.component.tsx"],"names":[],"mappings":"AAGA,OAAO,oBAAoB,CAAC;AAE5B,eAAO,MAAM,WAAW;;;6CAqBvB,CAAC"}
1
+ {"version":3,"file":"color-picker.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Picker/color-picker/color-picker.component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAgC,aAAa,EAAC,MAAM,OAAO,CAAC;AAG1E,OAAO,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,4CAA4C;IAC5C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,wCAAwC;IACxC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,mCAAmC;IACnC,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,eAAO,MAAM,WAAW,4CAAqD,gBAAgB,4CAqB5F,CAAC"}
@@ -3,10 +3,10 @@ import { useCallback, useRef, useState } from 'react';
3
3
  import { HexColorPicker } from 'react-colorful';
4
4
  import { useClickOutside } from '../../../hooks';
5
5
  import './color-picker.css';
6
- export const ColorPicker = ({ color, onChange }) => {
6
+ export const ColorPicker = ({ color, onChange, classNames = {}, styles = {} }) => {
7
7
  const popover = useRef();
8
8
  const [isOpen, toggle] = useState(false);
9
9
  const close = useCallback(() => toggle(false), []);
10
10
  useClickOutside(popover, close);
11
- return (_jsxs("div", { className: "picker", children: [_jsx("div", { className: "swatch", style: { backgroundColor: color }, onClick: () => toggle(true) }), isOpen && (_jsx("div", { className: "popover", ref: popover, children: _jsx(HexColorPicker, { color: color, onChange: onChange }) }))] }));
11
+ return (_jsxs("div", { className: `picker ${classNames.container || ''}`, style: styles.container, children: [_jsx("div", { className: `swatch ${classNames.swatch || ''}`, style: { backgroundColor: color, ...styles.swatch }, onClick: () => toggle(true) }), isOpen && (_jsx("div", { className: `popover ${classNames.popover || ''}`, style: styles.popover, ref: popover, children: _jsx(HexColorPicker, { color: color, onChange: onChange }) }))] }));
12
12
  };
@@ -1,9 +1,50 @@
1
+ import { CSSProperties } from 'react';
2
+ export interface MultiSelectClassNames {
3
+ /** Custom className for the container */
4
+ container?: string;
5
+ /** Custom className for the trigger/display span */
6
+ trigger?: string;
7
+ /** Custom className for the dropdown container */
8
+ dropdown?: string;
9
+ /** Custom className for the list */
10
+ list?: string;
11
+ /** Custom className for list items */
12
+ listItem?: string;
13
+ /** Custom className for the label */
14
+ label?: string;
15
+ /** Custom className for the checkbox */
16
+ checkbox?: string;
17
+ /** Custom className for the item text */
18
+ itemText?: string;
19
+ }
20
+ export interface MultiSelectStyles {
21
+ /** Custom style for the container */
22
+ container?: CSSProperties;
23
+ /** Custom style for the trigger/display span */
24
+ trigger?: CSSProperties;
25
+ /** Custom style for the dropdown container */
26
+ dropdown?: CSSProperties;
27
+ /** Custom style for the list */
28
+ list?: CSSProperties;
29
+ /** Custom style for list items */
30
+ listItem?: CSSProperties;
31
+ /** Custom style for the label */
32
+ label?: CSSProperties;
33
+ /** Custom style for the checkbox */
34
+ checkbox?: CSSProperties;
35
+ /** Custom style for the item text */
36
+ itemText?: CSSProperties;
37
+ }
1
38
  interface MultiSelectProps {
2
39
  options: Array<string>;
3
40
  selectedItems?: Array<string>;
4
41
  hasError?: boolean;
42
+ /** Custom classNames for component parts */
43
+ classNames?: MultiSelectClassNames;
44
+ /** Custom inline styles for component parts */
45
+ styles?: MultiSelectStyles;
5
46
  onSelect: (item: any) => any;
6
47
  }
7
- export declare const MultiSelect: ({ options, selectedItems, hasError, onSelect, }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
48
+ export declare const MultiSelect: ({ options, selectedItems, hasError, classNames, styles, onSelect, }: MultiSelectProps) => import("react/jsx-runtime").JSX.Element;
8
49
  export {};
9
50
  //# sourceMappingURL=multi-select.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multi-select.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Selection/multi-select/multi-select.component.tsx"],"names":[],"mappings":"AAIA,UAAU,gBAAgB;IACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,oDAKrB,gBAAgB,4CA8HlB,CAAC"}
1
+ {"version":3,"file":"multi-select.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Selection/multi-select/multi-select.component.tsx"],"names":[],"mappings":"AAAA,OAAc,EAA8B,aAAa,EAAC,MAAM,OAAO,CAAC;AAIxE,MAAM,WAAW,qBAAqB;IACpC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,qCAAqC;IACrC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gCAAgC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iCAAiC;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,UAAU,gBAAgB;IACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,wEAOrB,gBAAgB,4CAsIlB,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { useState, useEffect, useRef } from 'react';
3
3
  import s from '../../../tc.module.css';
4
4
  import { cn } from '../../../utils';
5
- export const MultiSelect = ({ options = [], selectedItems = [], hasError = false, onSelect, }) => {
5
+ export const MultiSelect = ({ options = [], selectedItems = [], hasError = false, classNames = {}, styles = {}, onSelect, }) => {
6
6
  const [selectedOptions, setSelectedOptions] = useState([]);
7
7
  const [isListOpen, setIsListOpen] = useState(false);
8
8
  const useOutsideAlerter = (ref) => {
@@ -26,10 +26,10 @@ export const MultiSelect = ({ options = [], selectedItems = [], hasError = false
26
26
  return (_jsx(_Fragment, { children: _jsxs("div", { className: cn(s['flex'], s['dark:bg-boxdark'], s['dark:text-white'], s['flex-col'], s['w-full'], s['rounded-md'], s['border'], {
27
27
  [s['border-red']]: hasError,
28
28
  [s['border-gray-300']]: !hasError,
29
- }), ref: wrapperRef, children: [_jsx("span", { className: cn(s['p-2'], s['shadow-sm']), onClick: () => {
29
+ }, classNames.container), style: styles.container, ref: wrapperRef, children: [_jsx("span", { className: cn(s['p-2'], s['shadow-sm'], classNames.trigger), style: styles.trigger, onClick: () => {
30
30
  setIsListOpen(!isListOpen);
31
31
  }, children: selectedOptions?.length > 0 ? selectedOptions?.join(',') : 'Select' }), _jsx("div", { className: cn(s['flex'], { [s['show']]: isListOpen, [s['hidden']]: !isListOpen }, s['relative']), children: options
32
- ? options?.length > 0 && (_jsx("div", { className: cn(s['flex'], s['absolute'], s['rounded-sm'], s['w-full']), style: { zIndex: 999 }, children: _jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['w-full'], s['bg-white'], s['shadow-md'], s['rounded-md'], s['border'], s['border-gray-200'], s['list-none'], s['m-0'], s['p-0']), children: options?.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['gap-2'], s['p-2']), children: _jsxs("label", { className: cn(s['flex'], s['gap-2']), children: [_jsx("input", { className: cn(s['flex'], s['h-4'], s['w-4']), type: "checkbox", checked: selectedOptions?.includes(item), onChange: () => {
32
+ ? options?.length > 0 && (_jsx("div", { className: cn(s['flex'], s['absolute'], s['rounded-sm'], s['w-full'], classNames.dropdown), style: { zIndex: 999, ...styles.dropdown }, children: _jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['w-full'], s['bg-white'], s['shadow-md'], s['rounded-md'], s['border'], s['border-gray-200'], s['list-none'], s['m-0'], s['p-0'], classNames.list), style: styles.list, children: options?.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['gap-2'], s['p-2'], classNames.listItem), style: styles.listItem, children: _jsxs("label", { className: cn(s['flex'], s['gap-2'], classNames.label), style: styles.label, children: [_jsx("input", { className: cn(s['flex'], s['h-4'], s['w-4'], classNames.checkbox), style: styles.checkbox, type: "checkbox", checked: selectedOptions?.includes(item), onChange: () => {
33
33
  if (selectedOptions?.includes(item)) {
34
34
  setSelectedOptions(selectedOptions?.filter((e) => e != item));
35
35
  }
@@ -44,6 +44,6 @@ export const MultiSelect = ({ options = [], selectedItems = [], hasError = false
44
44
  }, onBlur: () => {
45
45
  if (!isListOpen)
46
46
  onSelect(selectedOptions);
47
- } }), _jsx("span", { className: cn(s['flex'], s['h-4']), children: item })] }) }, index))) }) }))
47
+ } }), _jsx("span", { className: cn(s['flex'], s['h-4'], classNames.itemText), style: styles.itemText, children: item })] }) }, index))) }) }))
48
48
  : null })] }) }));
49
49
  };
@@ -1,4 +1,36 @@
1
- import React from 'react';
1
+ import React, { CSSProperties } from 'react';
2
+ export interface SingleSelectClassNames {
3
+ /** Custom className for the container */
4
+ container?: string;
5
+ /** Custom className for the trigger/display span */
6
+ trigger?: string;
7
+ /** Custom className for the icon wrapper */
8
+ icon?: string;
9
+ /** Custom className for the dropdown container */
10
+ dropdown?: string;
11
+ /** Custom className for the list */
12
+ list?: string;
13
+ /** Custom className for list items */
14
+ listItem?: string;
15
+ /** Custom className for the item text */
16
+ itemText?: string;
17
+ }
18
+ export interface SingleSelectStyles {
19
+ /** Custom style for the container */
20
+ container?: CSSProperties;
21
+ /** Custom style for the trigger/display span */
22
+ trigger?: CSSProperties;
23
+ /** Custom style for the icon wrapper */
24
+ icon?: CSSProperties;
25
+ /** Custom style for the dropdown container */
26
+ dropdown?: CSSProperties;
27
+ /** Custom style for the list */
28
+ list?: CSSProperties;
29
+ /** Custom style for list items */
30
+ listItem?: CSSProperties;
31
+ /** Custom style for the item text */
32
+ itemText?: CSSProperties;
33
+ }
2
34
  interface SingleSelectProps {
3
35
  options: Array<any>;
4
36
  displayKey?: string;
@@ -6,8 +38,12 @@ interface SingleSelectProps {
6
38
  hasError?: boolean;
7
39
  className?: string;
8
40
  style?: React.CSSProperties;
41
+ /** Custom classNames for component parts */
42
+ classNames?: SingleSelectClassNames;
43
+ /** Custom inline styles for component parts */
44
+ styles?: SingleSelectStyles;
9
45
  onSelect: (item: any) => any;
10
46
  }
11
- export declare const SingleSelect: ({ options, displayKey, displayValue, hasError, className, style, onSelect, }: SingleSelectProps) => import("react/jsx-runtime").JSX.Element;
47
+ export declare const SingleSelect: ({ options, displayKey, displayValue, hasError, className, style, classNames, styles, onSelect, }: SingleSelectProps) => import("react/jsx-runtime").JSX.Element;
12
48
  export {};
13
49
  //# sourceMappingURL=single-select.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"single-select.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Selection/single-select/single-select.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AAKzD,UAAU,iBAAiB;IACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,iFAQtB,iBAAiB,4CAsLnB,CAAC"}
1
+ {"version":3,"file":"single-select.component.d.ts","sourceRoot":"","sources":["../../../../../../../src/core-components/src/components/Selection/single-select/single-select.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,aAAa,EAAC,MAAM,OAAO,CAAC;AAKxE,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,gDAAgD;IAChD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,wCAAwC;IACxC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,gCAAgC;IAChC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,+CAA+C;IAC/C,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,qGAUtB,iBAAiB,4CA8LnB,CAAC"}
@@ -3,7 +3,7 @@ import { useState, useEffect, useRef } from 'react';
3
3
  import { Icon } from '../../Icon/Icon';
4
4
  import s from '../../../tc.module.css';
5
5
  import { cn } from '../../../utils';
6
- export const SingleSelect = ({ options = [], displayKey = 'title', displayValue = '', hasError = false, className = '', style = {}, onSelect, }) => {
6
+ export const SingleSelect = ({ options = [], displayKey = 'title', displayValue = '', hasError = false, className = '', style = {}, classNames = {}, styles = {}, onSelect, }) => {
7
7
  const [value, setValue] = useState('');
8
8
  const [isListOpen, setIsListOpen] = useState(false);
9
9
  // Arrow navigation state
@@ -61,10 +61,10 @@ export const SingleSelect = ({ options = [], displayKey = 'title', displayValue
61
61
  return (_jsx(_Fragment, { children: _jsxs("div", { className: cn(s['flex'], s['dark:bg-boxdark'], s['dark:text-white'], s['flex-col'], s['w-full'], s['rounded-md'], s['border'], {
62
62
  [s['border-red']]: hasError,
63
63
  [s['border-gray-300']]: !hasError,
64
- }, className), ref: wrapperRef, style: style, children: [_jsxs("span", { className: cn(s['p-2'], s['shadow-sm'], s['flex'], s['justify-between'], s['items-center']), onClick: () => {
64
+ }, className, classNames.container), ref: wrapperRef, style: { ...style, ...styles.container }, children: [_jsxs("span", { className: cn(s['p-2'], s['shadow-sm'], s['flex'], s['justify-between'], s['items-center'], classNames.trigger), onClick: () => {
65
65
  setIsListOpen(!isListOpen);
66
- }, tabIndex: 0, style: { cursor: 'pointer' }, children: [value ? value : 'Select', _jsx("span", { children: isListOpen ? (_jsx(Icon, { nameIcon: "FaChevronUp", propsIcon: { size: 16 } })) : (_jsx(Icon, { nameIcon: "FaChevronDown", propsIcon: { size: 16 } })) })] }), _jsx("div", { className: cn(s['flex'], { [s['show']]: isListOpen, [s['hidden']]: !isListOpen }, s['relative']), children: options
67
- ? options?.length > 0 && (_jsx("div", { className: cn(s['flex'], s['absolute'], s['rounded-sm'], s['w-full']), style: {
66
+ }, tabIndex: 0, style: { cursor: 'pointer', ...styles.trigger }, children: [value ? value : 'Select', _jsx("span", { className: classNames.icon, style: styles.icon, children: isListOpen ? (_jsx(Icon, { nameIcon: "FaChevronUp", propsIcon: { size: 16 } })) : (_jsx(Icon, { nameIcon: "FaChevronDown", propsIcon: { size: 16 } })) })] }), _jsx("div", { className: cn(s['flex'], { [s['show']]: isListOpen, [s['hidden']]: !isListOpen }, s['relative']), children: options
67
+ ? options?.length > 0 && (_jsx("div", { className: cn(s['flex'], s['absolute'], s['rounded-sm'], s['w-full'], classNames.dropdown), style: {
68
68
  zIndex: 999,
69
69
  top: 'calc(100% + 0.5rem)',
70
70
  left: 0,
@@ -73,13 +73,15 @@ export const SingleSelect = ({ options = [], displayKey = 'title', displayValue
73
73
  padding: 0,
74
74
  animation: 'fadeIn 0.15s ease-out',
75
75
  transformOrigin: 'top',
76
- }, children: _jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['w-full'], s['bg-white'], s['shadow-md'], s['rounded-md'], s['border'], s['border-gray-200'], s['list-none'], s['m-0'], s['p-0']), children: options?.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['gap-2'], s['p-2'], highlightedIndex === index && s['bg-blue-100']), style: {
76
+ ...styles.dropdown,
77
+ }, children: _jsx("ul", { className: cn(s['flex'], s['flex-col'], s['gap-1'], s['w-full'], s['bg-white'], s['shadow-md'], s['rounded-md'], s['border'], s['border-gray-200'], s['list-none'], s['m-0'], s['p-0'], classNames.list), style: styles.list, children: options?.map((item, index) => (_jsx("li", { className: cn(s['flex'], s['gap-2'], s['p-2'], highlightedIndex === index && s['bg-blue-100'], classNames.listItem), style: {
77
78
  cursor: 'pointer',
78
79
  background: highlightedIndex === index ? '#e0e7ff' : undefined,
80
+ ...styles.listItem,
79
81
  }, onClick: () => {
80
82
  setValue(item[displayKey]);
81
83
  onSelect(item);
82
84
  setIsListOpen(false);
83
- }, onMouseEnter: () => setHighlightedIndex(index), children: _jsx("label", { className: cn(s['flex'], s['gap-2']), children: _jsx("span", { className: cn(s['flex'], s['h-4']), children: item[displayKey] }) }) }, index))) }) }))
85
+ }, onMouseEnter: () => setHighlightedIndex(index), children: _jsx("label", { className: cn(s['flex'], s['gap-2']), children: _jsx("span", { className: cn(s['flex'], s['h-4'], classNames.itemText), style: styles.itemText, children: item[displayKey] }) }) }, index))) }) }))
84
86
  : null })] }) }));
85
87
  };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { CSSProperties } from 'react';
2
2
  export type StepperSize = 'sm' | 'md' | 'lg';
3
3
  export type StepperStepStatus = 'completed' | 'current' | 'pending';
4
4
  export interface StepperStep {
@@ -27,6 +27,38 @@ export interface StepperColors {
27
27
  /** Text color for pending steps */
28
28
  pendingTextColor?: string;
29
29
  }
30
+ export interface StepperClassNames {
31
+ /** Custom className for the root container */
32
+ container?: string;
33
+ /** Custom className for the steps wrapper */
34
+ stepsWrapper?: string;
35
+ /** Custom className for the background line */
36
+ backgroundLine?: string;
37
+ /** Custom className for the progress line */
38
+ progressLine?: string;
39
+ /** Custom className for individual step wrapper */
40
+ stepWrapper?: string;
41
+ /** Custom className for the step circle */
42
+ stepCircle?: string;
43
+ /** Custom className for the step description */
44
+ stepDescription?: string;
45
+ }
46
+ export interface StepperStyles {
47
+ /** Custom style for the root container */
48
+ container?: CSSProperties;
49
+ /** Custom style for the steps wrapper */
50
+ stepsWrapper?: CSSProperties;
51
+ /** Custom style for the background line */
52
+ backgroundLine?: CSSProperties;
53
+ /** Custom style for the progress line */
54
+ progressLine?: CSSProperties;
55
+ /** Custom style for individual step wrapper */
56
+ stepWrapper?: CSSProperties;
57
+ /** Custom style for the step circle */
58
+ stepCircle?: CSSProperties;
59
+ /** Custom style for the step description */
60
+ stepDescription?: CSSProperties;
61
+ }
30
62
  export interface StepperProps {
31
63
  /** Additional className for the container */
32
64
  className?: string;
@@ -52,6 +84,10 @@ export interface StepperProps {
52
84
  style?: React.CSSProperties;
53
85
  /** Orientation (horizontal is default) */
54
86
  orientation?: 'horizontal' | 'vertical';
87
+ /** Custom classNames for component parts */
88
+ classNames?: StepperClassNames;
89
+ /** Custom inline styles for component parts */
90
+ styles?: StepperStyles;
55
91
  }
56
- export declare const Stepper: ({ className, steps, currentStep, onStepClick, size, colors, showNumbers, lineThickness, stepSize, clickable, style, orientation, }: StepperProps) => import("react/jsx-runtime").JSX.Element;
92
+ export declare const Stepper: ({ className, steps, currentStep, onStepClick, size, colors, showNumbers, lineThickness, stepSize, clickable, style, orientation, classNames: customClassNames, styles: customStyles, }: StepperProps) => import("react/jsx-runtime").JSX.Element;
57
93
  //# sourceMappingURL=stepper.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stepper.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Stepper2/stepper.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;IACnC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IACV,mBAAmB;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,oBAAoB;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC;AAqBD,eAAO,MAAM,OAAO,uIAajB,YAAY,4CA4Ld,CAAC"}
1
+ {"version":3,"file":"stepper.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Stepper2/stepper.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAI3C,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,2CAA2C;IAC3C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,yCAAyC;IACzC,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,+CAA+C;IAC/C,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,uCAAuC;IACvC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,4CAA4C;IAC5C,eAAe,CAAC,EAAE,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;IACnC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,WAAW,CAAC,EAAE,CACZ,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IACV,mBAAmB;IACnB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,oBAAoB;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAqBD,eAAO,MAAM,OAAO,2LAejB,YAAY,4CAoMd,CAAC"}
@@ -15,12 +15,12 @@ const SIZE_CONFIG = {
15
15
  md: { stepSize: 32, fontSize: '0.75rem', padding: 4 },
16
16
  lg: { stepSize: 40, fontSize: '0.875rem', padding: 6 },
17
17
  };
18
- export const Stepper = ({ className = '', steps, currentStep = 1, onStepClick, size = 'md', colors = {}, showNumbers = true, lineThickness = 2, stepSize, clickable = true, style, orientation = 'horizontal', }) => {
18
+ export const Stepper = ({ className = '', steps, currentStep = 1, onStepClick, size = 'md', colors = {}, showNumbers = true, lineThickness = 2, stepSize, clickable = true, style, orientation = 'horizontal', classNames: customClassNames = {}, styles: customStyles = {}, }) => {
19
19
  const mergedColors = { ...DEFAULT_COLORS, ...colors };
20
20
  const sizeConfig = SIZE_CONFIG[size];
21
21
  const finalStepSize = stepSize || sizeConfig.stepSize;
22
22
  const linePosition = sizeConfig.padding + finalStepSize / 2;
23
- const finalClass = cn(className, s['w-full'], s['px-4'], s['sm:px-8']);
23
+ const finalClass = cn(className, s['w-full'], s['px-4'], s['sm:px-8'], customClassNames.container);
24
24
  // Helper to get step info
25
25
  const getStepInfo = (step, index) => {
26
26
  if (typeof step === 'string') {
@@ -93,11 +93,12 @@ export const Stepper = ({ className = '', steps, currentStep = 1, onStepClick, s
93
93
  }
94
94
  return (_jsxs("div", { style: {
95
95
  left: steps.length > 1 ? `${(index / (steps.length - 1)) * 100}%` : '50%',
96
- }, className: cn(s['absolute']), children: [_jsx("span", { className: cn(stepClass, s['font-arimaRegular']), style: stepStyles, onClick: () => {
96
+ ...customStyles.stepWrapper,
97
+ }, className: cn(s['absolute'], customClassNames.stepWrapper), children: [_jsx("span", { className: cn(stepClass, s['font-arimaRegular'], customClassNames.stepCircle), style: { ...stepStyles, ...customStyles.stepCircle }, onClick: () => {
97
98
  if (clickable && onStepClick) {
98
99
  onStepClick(stepNumber, step, index);
99
100
  }
100
- }, children: showNumbers ? stepNumber : stepInfo.label }), !showNumbers && stepInfo.description && (_jsx("div", { style: {
101
+ }, children: showNumbers ? stepNumber : stepInfo.label }), !showNumbers && stepInfo.description && (_jsx("div", { className: customClassNames.stepDescription, style: {
101
102
  position: 'absolute',
102
103
  top: `${finalStepSize + 8}px`,
103
104
  left: '50%',
@@ -107,6 +108,7 @@ export const Stepper = ({ className = '', steps, currentStep = 1, onStepClick, s
107
108
  ? mergedColors.activeColor
108
109
  : mergedColors.pendingTextColor,
109
110
  whiteSpace: 'nowrap',
111
+ ...customStyles.stepDescription,
110
112
  }, children: stepInfo.description }))] }, `step-${index}-${stepInfo.label}`));
111
113
  });
112
114
  // Calculate progress width based on current step
@@ -114,21 +116,24 @@ export const Stepper = ({ className = '', steps, currentStep = 1, onStepClick, s
114
116
  ? `${((currentStep - 1) / (steps.length - 1)) * 100}%`
115
117
  : '0%';
116
118
  const containerHeight = sizeConfig.padding * 2 + finalStepSize;
117
- return (_jsx("div", { className: finalClass, style: style, children: _jsxs("div", { className: cn(s['w-full'], s['relative']), style: {
119
+ return (_jsx("div", { className: finalClass, style: { ...style, ...customStyles.container }, children: _jsxs("div", { className: cn(s['w-full'], s['relative'], customClassNames.stepsWrapper), style: {
118
120
  minHeight: `${containerHeight}px`,
119
121
  paddingTop: `${sizeConfig.padding}px`,
120
- }, children: [_jsx("div", { className: cn(s['absolute'], s['left-0'], s['w-full'], s['transition-width'], s['ease-in-out'], s['duration-500']), style: {
122
+ ...customStyles.stepsWrapper,
123
+ }, children: [_jsx("div", { className: cn(s['absolute'], s['left-0'], s['w-full'], s['transition-width'], s['ease-in-out'], s['duration-500'], customClassNames.backgroundLine), style: {
121
124
  top: `${linePosition}px`,
122
125
  height: `${lineThickness}px`,
123
126
  backgroundColor: mergedColors.lineColor,
124
127
  transform: 'translateY(-50%)',
125
128
  zIndex: 0,
126
- } }), _jsx("div", { className: cn(s['absolute'], s['left-0'], s['transition-width'], s['ease-in-out'], s['duration-500']), style: {
129
+ ...customStyles.backgroundLine,
130
+ } }), _jsx("div", { className: cn(s['absolute'], s['left-0'], s['transition-width'], s['ease-in-out'], s['duration-500'], customClassNames.progressLine), style: {
127
131
  top: `${linePosition}px`,
128
132
  width: progressWidth,
129
133
  height: `${lineThickness}px`,
130
134
  backgroundColor: mergedColors.completedColor,
131
135
  transform: 'translateY(-50%)',
132
136
  zIndex: 1,
137
+ ...customStyles.progressLine,
133
138
  } }), _jsx("div", { className: cn(s['relative'], s['sm:block']), style: { zIndex: 2 }, children: Steps })] }) }));
134
139
  };
@@ -1,9 +1,35 @@
1
- import React from 'react';
1
+ import React, { CSSProperties } from 'react';
2
+ export interface TabsClassNames {
3
+ /** Custom className for the root container */
4
+ container?: string;
5
+ /** Custom className for the tabs header container */
6
+ tabsHeader?: string;
7
+ /** Custom className for individual tab button */
8
+ tabButton?: string;
9
+ /** Custom className for active tab button */
10
+ activeTabButton?: string;
11
+ /** Custom className for the content container */
12
+ contentContainer?: string;
13
+ }
14
+ export interface TabsStyles {
15
+ /** Custom style for the root container */
16
+ container?: CSSProperties;
17
+ /** Custom style for the tabs header container */
18
+ tabsHeader?: CSSProperties;
19
+ /** Custom style for individual tab button */
20
+ tabButton?: CSSProperties;
21
+ /** Custom style for active tab button */
22
+ activeTabButton?: CSSProperties;
23
+ /** Custom style for the content container */
24
+ contentContainer?: CSSProperties;
25
+ }
2
26
  interface TabProps {
3
27
  title: string;
4
28
  children: React.JSX.Element;
29
+ className?: string;
30
+ style?: CSSProperties;
5
31
  }
6
- export declare const Tab: ({ title, children }: TabProps) => import("react/jsx-runtime").JSX.Element;
32
+ export declare const Tab: ({ title, children, className, style }: TabProps) => import("react/jsx-runtime").JSX.Element;
7
33
  export interface TabsProps {
8
34
  options: Array<{
9
35
  title: string;
@@ -12,7 +38,11 @@ export interface TabsProps {
12
38
  }>;
13
39
  onSelect?: (item: any, index: number) => void;
14
40
  children: React.ReactNode;
41
+ /** Custom classNames for component parts */
42
+ classNames?: TabsClassNames;
43
+ /** Custom inline styles for component parts */
44
+ styles?: TabsStyles;
15
45
  }
16
- export declare const Tabs: ({ options, onSelect, children }: TabsProps) => import("react/jsx-runtime").JSX.Element;
46
+ export declare const Tabs: ({ options, onSelect, children, classNames, styles }: TabsProps) => import("react/jsx-runtime").JSX.Element;
17
47
  export {};
18
48
  //# sourceMappingURL=tabs.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Tabs/tabs.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAItC,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,GAAG,wBAAuB,QAAQ,4CAM9C,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,IAAI,oCAAmC,SAAS,4CAqD5D,CAAC"}
1
+ {"version":3,"file":"tabs.component.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Tabs/tabs.component.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAW,aAAa,EAAC,MAAM,OAAO,CAAC;AAIrD,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,iDAAiD;IACjD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,yCAAyC;IACzC,eAAe,CAAC,EAAE,aAAa,CAAC;IAChC,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,aAAa,CAAC;CAClC;AAED,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,eAAO,MAAM,GAAG,0CAAyC,QAAQ,4CAMhE,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;QAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,+CAA+C;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,eAAO,MAAM,IAAI,wDAAiE,SAAS,4CA6D1F,CAAC"}