imbric-theme 0.8.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atoms/Icon/Icon.js +1 -1
- package/atoms/Icon/constants.js +10 -0
- package/atoms/Textarea/Textarea.js +13 -6
- package/atoms/Textarea/Textarea.module.css +2 -2
- package/layout/DynamicTable/DynamicTable.js +22 -0
- package/layout/DynamicTable/DynamicTable.module.css +1 -1
- package/layout/Sidebar/Sidebar.js +0 -2
- package/molecules/CardServiceDetail/CardServiceDetail.js +2 -2
- package/molecules/ItemMenu/ItemMenu.js +9 -9
- package/molecules/RowTable/RowTable.js +72 -1
- package/package.json +1 -1
- package/public/static/images/clone-svgrepo-com.svg +8 -0
- package/public/static/images/copy-svgrepo-com.svg +2 -0
package/atoms/Icon/Icon.js
CHANGED
package/atoms/Icon/constants.js
CHANGED
|
@@ -989,6 +989,16 @@ export const iconsMap = {
|
|
|
989
989
|
</>
|
|
990
990
|
),
|
|
991
991
|
},
|
|
992
|
+
cloneDefault: {
|
|
993
|
+
viewBox: '0 0 24 24',
|
|
994
|
+
svg: (
|
|
995
|
+
<>
|
|
996
|
+
<path d="M22.8,0H7.2C6.5,0,6,0.5,6,1.2v15.6C6,17.5,6.5,18,7.2,18h15.6c0.7,0,1.2-0.5,1.2-1.2V1.2C24,0.5,23.5,0,22.8,0z M22.4,16.4
|
|
997
|
+
H7.6V1.6h14.8V16.4z"/>
|
|
998
|
+
<path d="M16.4,22.4H1.6V7.6h2.8V6H1.2C0.5,6,0,6.5,0,7.2v15.6C0,23.5,0.5,24,1.2,24h15.6c0.7,0,1.2-0.5,1.2-1.2v-3.2h-1.6V22.4z" />
|
|
999
|
+
</>
|
|
1000
|
+
),
|
|
1001
|
+
},
|
|
992
1002
|
|
|
993
1003
|
|
|
994
1004
|
}
|
|
@@ -6,9 +6,9 @@ import withStyles from '../../hocs/withStyles'
|
|
|
6
6
|
|
|
7
7
|
const DEFAULT_TEXTAREA_ROWS = 5
|
|
8
8
|
|
|
9
|
-
const handleChange = ({ onChange }) => () => {
|
|
10
|
-
|
|
11
|
-
}
|
|
9
|
+
// const handleChange = ({ onChange }) => () => {
|
|
10
|
+
// onChange()
|
|
11
|
+
// }
|
|
12
12
|
|
|
13
13
|
export const Textarea = ({
|
|
14
14
|
children,
|
|
@@ -16,13 +16,17 @@ export const Textarea = ({
|
|
|
16
16
|
placeholder,
|
|
17
17
|
onChange,
|
|
18
18
|
getStyles,
|
|
19
|
+
value,
|
|
20
|
+
id,
|
|
19
21
|
}) => {
|
|
20
22
|
return (
|
|
21
23
|
<textarea
|
|
24
|
+
id={id}
|
|
22
25
|
className={getStyles('textarea')}
|
|
23
26
|
rows={rows}
|
|
24
27
|
placeholder={placeholder}
|
|
25
|
-
onChange={
|
|
28
|
+
onChange={onChange}
|
|
29
|
+
value={value}
|
|
26
30
|
>
|
|
27
31
|
{children}
|
|
28
32
|
</textarea>
|
|
@@ -35,12 +39,15 @@ Textarea.propTypes = {
|
|
|
35
39
|
onChange: PropTypes.func.isRequired,
|
|
36
40
|
rows: PropTypes.number,
|
|
37
41
|
placeholder: PropTypes.string,
|
|
42
|
+
value: PropTypes.string,
|
|
43
|
+
id: PropTypes.string.isRequired,
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
Textarea.defaultProps = {
|
|
41
|
-
getStyles: () => {},
|
|
42
|
-
onChange: () => {},
|
|
47
|
+
getStyles: () => { },
|
|
48
|
+
onChange: () => { },
|
|
43
49
|
rows: DEFAULT_TEXTAREA_ROWS,
|
|
50
|
+
id: '',
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
export default withStyles(styles)(Textarea)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
box-shadow: var(--box-shadow-sm);
|
|
10
10
|
color: var(--color-font-base);
|
|
11
11
|
font-family: var(--font-family-sans);
|
|
12
|
-
font-size: var(--
|
|
12
|
+
font-size: var(--paragraph-font-size-xs);
|
|
13
13
|
font-weight: var(--font-weight-medium);
|
|
14
14
|
line-height: var(--line-height-tight);
|
|
15
15
|
resize: vertical;
|
|
@@ -22,4 +22,4 @@
|
|
|
22
22
|
.textarea:focus {
|
|
23
23
|
box-shadow: 0 0 0 1px var(--color-primary), 0 0 10px 0 var(--color-primary);
|
|
24
24
|
outline: none;
|
|
25
|
-
}
|
|
25
|
+
}
|
|
@@ -25,6 +25,7 @@ export const DynamicTable = ({
|
|
|
25
25
|
isViewAddColumn,
|
|
26
26
|
isViewFilterTable,
|
|
27
27
|
isViewBtn,
|
|
28
|
+
isViewLeftBtn,
|
|
28
29
|
isViewDownloadDoc,
|
|
29
30
|
typeBtn,
|
|
30
31
|
titleBtn,
|
|
@@ -102,6 +103,25 @@ export const DynamicTable = ({
|
|
|
102
103
|
</div>
|
|
103
104
|
) : null}
|
|
104
105
|
|
|
106
|
+
{isViewLeftBtn ? (
|
|
107
|
+
|
|
108
|
+
<>
|
|
109
|
+
|
|
110
|
+
<div className={getStyles('opFunctionBox3')}>
|
|
111
|
+
|
|
112
|
+
<Button
|
|
113
|
+
type={typeBtn}
|
|
114
|
+
isInline={true}
|
|
115
|
+
onClick={handleBtn}
|
|
116
|
+
>
|
|
117
|
+
{titleBtn}
|
|
118
|
+
</Button>
|
|
119
|
+
|
|
120
|
+
</div>
|
|
121
|
+
</>
|
|
122
|
+
) : null}
|
|
123
|
+
|
|
124
|
+
|
|
105
125
|
{isViewRange ? (
|
|
106
126
|
<div className={getStyles('opFunctionBox1')}>
|
|
107
127
|
<DatePicker
|
|
@@ -238,6 +258,7 @@ DynamicTable.propTypes = {
|
|
|
238
258
|
isViewFilterTable: PropTypes.bool,
|
|
239
259
|
isViewDownloadDoc: PropTypes.bool,
|
|
240
260
|
isViewBtn: PropTypes.bool,
|
|
261
|
+
isViewLeftBtn: PropTypes.bool,
|
|
241
262
|
onChangeInput: PropTypes.func,
|
|
242
263
|
handleAddColumn: PropTypes.func,
|
|
243
264
|
handleFilterTable: PropTypes.func,
|
|
@@ -268,6 +289,7 @@ DynamicTable.defaultProps = {
|
|
|
268
289
|
isViewFilterTable: false,
|
|
269
290
|
isViewDownloadDoc: true,
|
|
270
291
|
isViewBtn: false,
|
|
292
|
+
isViewLeftBtn: false,
|
|
271
293
|
isLayoutDate: 'Calendar',
|
|
272
294
|
handleSelectRange: () => { },
|
|
273
295
|
handleDownloadExcel: () => { },
|
|
@@ -8,8 +8,6 @@ import { useRouter } from 'next/router'
|
|
|
8
8
|
import styles from './Sidebar.module.css'
|
|
9
9
|
|
|
10
10
|
import Picture from '../../atoms/Picture'
|
|
11
|
-
import Icon from '../../atoms/Icon'
|
|
12
|
-
import Divider from '../../atoms/Divider'
|
|
13
11
|
import ItemMenu from '../../molecules/ItemMenu/ItemMenu'
|
|
14
12
|
|
|
15
13
|
export const Sidebar = ({ getStyles, menuCollapseView, options, isHrefLogo, isSrcLogoS, isSrcLogo }) => {
|
|
@@ -259,7 +259,7 @@ export const CardServiceDetail = ({
|
|
|
259
259
|
|
|
260
260
|
<div className={getStyles('card-content')}>
|
|
261
261
|
|
|
262
|
-
<div className={getStyles('card-subcontent')}>
|
|
262
|
+
{/* <div className={getStyles('card-subcontent')}>
|
|
263
263
|
|
|
264
264
|
<Label >
|
|
265
265
|
<Icon
|
|
@@ -273,7 +273,7 @@ export const CardServiceDetail = ({
|
|
|
273
273
|
|
|
274
274
|
<p className={getStyles('card-content-p')}>{txtNumberDriverService}</p>
|
|
275
275
|
|
|
276
|
-
</div>
|
|
276
|
+
</div> */}
|
|
277
277
|
|
|
278
278
|
<div className={getStyles('card-subcontent')}>
|
|
279
279
|
|
|
@@ -35,7 +35,7 @@ export const ItemMenu = ({ children, getStyles, size, icon, color, background, s
|
|
|
35
35
|
<Icon
|
|
36
36
|
size={size}
|
|
37
37
|
name={icon}
|
|
38
|
-
color={
|
|
38
|
+
color={itemActive ? 'primary' : color}
|
|
39
39
|
background={background}
|
|
40
40
|
onClick={function noRefCheck() { }}
|
|
41
41
|
/>
|
|
@@ -66,7 +66,7 @@ export const ItemMenu = ({ children, getStyles, size, icon, color, background, s
|
|
|
66
66
|
<Icon
|
|
67
67
|
size={size}
|
|
68
68
|
name={icon}
|
|
69
|
-
color={
|
|
69
|
+
color={itemActive ? 'primary' : color}
|
|
70
70
|
background={background}
|
|
71
71
|
onClick={function noRefCheck() { }}
|
|
72
72
|
/>
|
|
@@ -88,13 +88,13 @@ export const ItemMenu = ({ children, getStyles, size, icon, color, background, s
|
|
|
88
88
|
|
|
89
89
|
{itemSubmenu.map((item, index) => (
|
|
90
90
|
item.view ?
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
<Link key={index} href={item.href} passHref>
|
|
92
|
+
<li className={getStyles('pro-menu-item', { 'activesub': item.active })}>
|
|
93
|
+
<div className={getStyles('pro-inner-item')} role="button">
|
|
94
|
+
<span className={getStyles('pro-item-content')}>{item.text}</span></div>
|
|
95
|
+
</li>
|
|
96
|
+
</Link>
|
|
97
|
+
: null
|
|
98
98
|
))}
|
|
99
99
|
</ul>
|
|
100
100
|
</div>
|
|
@@ -29,6 +29,7 @@ export const RowTable = ({
|
|
|
29
29
|
onClickActionSendEmail,
|
|
30
30
|
onClickActionDelete,
|
|
31
31
|
onClickActionLink,
|
|
32
|
+
onClickActionClone,
|
|
32
33
|
txtTootipIconUserView,
|
|
33
34
|
txtTootipIconListInvoice,
|
|
34
35
|
txtTootipIconListListXLS,
|
|
@@ -38,6 +39,7 @@ export const RowTable = ({
|
|
|
38
39
|
txtTootipIconSendEmail,
|
|
39
40
|
txtTootipIconDelete,
|
|
40
41
|
txtTootipIconLink,
|
|
42
|
+
txtTootipIconClone,
|
|
41
43
|
colorRow,
|
|
42
44
|
}) => {
|
|
43
45
|
|
|
@@ -663,6 +665,72 @@ export const RowTable = ({
|
|
|
663
665
|
|
|
664
666
|
: null}
|
|
665
667
|
|
|
668
|
+
|
|
669
|
+
|
|
670
|
+
{itemTd.viewClone ?
|
|
671
|
+
|
|
672
|
+
item.viewClone === undefined ?
|
|
673
|
+
|
|
674
|
+
<>
|
|
675
|
+
<span
|
|
676
|
+
data-tip
|
|
677
|
+
data-for='clone'
|
|
678
|
+
onMouseEnter={handleMouseEnter}
|
|
679
|
+
onMouseLeave={handleMouseLeave}
|
|
680
|
+
>
|
|
681
|
+
<>
|
|
682
|
+
<Icon
|
|
683
|
+
background="base"
|
|
684
|
+
name="cloneDefault"
|
|
685
|
+
onClick={e => { onClickActionClone(e, item) }}
|
|
686
|
+
/>
|
|
687
|
+
<Horizontal size="xs" />
|
|
688
|
+
</>
|
|
689
|
+
|
|
690
|
+
</span>
|
|
691
|
+
|
|
692
|
+
{isToolTipMounted ? (
|
|
693
|
+
<ReactTooltip id='clone' type='error'>
|
|
694
|
+
<span>{txtTootipIconClone}</span>
|
|
695
|
+
</ReactTooltip>
|
|
696
|
+
) : null}
|
|
697
|
+
</>
|
|
698
|
+
|
|
699
|
+
:
|
|
700
|
+
|
|
701
|
+
item.viewClone ?
|
|
702
|
+
|
|
703
|
+
<>
|
|
704
|
+
<span
|
|
705
|
+
data-tip
|
|
706
|
+
data-for='clone'
|
|
707
|
+
onMouseEnter={handleMouseEnter}
|
|
708
|
+
onMouseLeave={handleMouseLeave}
|
|
709
|
+
>
|
|
710
|
+
<>
|
|
711
|
+
<Icon
|
|
712
|
+
background="base"
|
|
713
|
+
name="clone"
|
|
714
|
+
onClick={e => { onClickActionClone(e, item) }}
|
|
715
|
+
/>
|
|
716
|
+
<Horizontal size="xs" />
|
|
717
|
+
</>
|
|
718
|
+
|
|
719
|
+
</span>
|
|
720
|
+
|
|
721
|
+
{isToolTipMounted ? (
|
|
722
|
+
<ReactTooltip id='clone' type='error'>
|
|
723
|
+
<span>{txtTootipIconClone}</span>
|
|
724
|
+
</ReactTooltip>
|
|
725
|
+
) : null}
|
|
726
|
+
</>
|
|
727
|
+
|
|
728
|
+
: null
|
|
729
|
+
|
|
730
|
+
: null}
|
|
731
|
+
|
|
732
|
+
|
|
733
|
+
|
|
666
734
|
</td>
|
|
667
735
|
|
|
668
736
|
:
|
|
@@ -795,6 +863,7 @@ RowTable.propTypes = {
|
|
|
795
863
|
onClickActionSendEmail: PropTypes.func,
|
|
796
864
|
onClickActionDelete: PropTypes.func,
|
|
797
865
|
onClickActionLink: PropTypes.func,
|
|
866
|
+
onClickActionClone: PropTypes.func,
|
|
798
867
|
txtTootipIconUserView: PropTypes.string,
|
|
799
868
|
txtTootipIconListInvoice: PropTypes.string,
|
|
800
869
|
txtTootipIconListListXLS: PropTypes.string,
|
|
@@ -804,6 +873,7 @@ RowTable.propTypes = {
|
|
|
804
873
|
txtTootipIconSendEmail: PropTypes.string,
|
|
805
874
|
txtTootipIconDelete: PropTypes.string,
|
|
806
875
|
txtTootipIconLink: PropTypes.string,
|
|
876
|
+
txtTootipIconClone: PropTypes.string,
|
|
807
877
|
colorRow: PropTypes.string,
|
|
808
878
|
isCheckedCheckbox: PropTypes.bool
|
|
809
879
|
}
|
|
@@ -822,6 +892,7 @@ RowTable.defaultProps = {
|
|
|
822
892
|
onClickActionSendEmail: () => { },
|
|
823
893
|
onClickActionDelete: () => { },
|
|
824
894
|
onClickActionLink: () => { },
|
|
895
|
+
onClickActionClone: () => { },
|
|
825
896
|
txtTootipIconUserView: '',
|
|
826
897
|
txtTootipIconListInvoice: '',
|
|
827
898
|
txtTootipIconListListXLS: '',
|
|
@@ -831,7 +902,7 @@ RowTable.defaultProps = {
|
|
|
831
902
|
txtTootipIconSendEmail: '',
|
|
832
903
|
txtTootipIconDelete: '',
|
|
833
904
|
txtTootipIconLink: '',
|
|
834
|
-
|
|
905
|
+
txtTootipIconClone: '',
|
|
835
906
|
|
|
836
907
|
isCheckedCheckbox: false
|
|
837
908
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 25.4.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve">
|
|
5
|
+
<path d="M22.8,0H7.2C6.5,0,6,0.5,6,1.2v15.6C6,17.5,6.5,18,7.2,18h15.6c0.7,0,1.2-0.5,1.2-1.2V1.2C24,0.5,23.5,0,22.8,0z M22.4,16.4
|
|
6
|
+
H7.6V1.6h14.8V16.4z"/>
|
|
7
|
+
<path d="M16.4,22.4H1.6V7.6h2.8V6H1.2C0.5,6,0,6.5,0,7.2v15.6C0,23.5,0.5,24,1.2,24h15.6c0.7,0,1.2-0.5,1.2-1.2v-3.2h-1.6V22.4z"/>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
|
2
|
+
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M7.024 3.75c0-.966.784-1.75 1.75-1.75H20.25c.966 0 1.75.784 1.75 1.75v11.498a1.75 1.75 0 01-1.75 1.75H8.774a1.75 1.75 0 01-1.75-1.75V3.75zm1.75-.25a.25.25 0 00-.25.25v11.498c0 .139.112.25.25.25H20.25a.25.25 0 00.25-.25V3.75a.25.25 0 00-.25-.25H8.774z"/><path d="M1.995 10.749a1.75 1.75 0 011.75-1.751H5.25a.75.75 0 110 1.5H3.745a.25.25 0 00-.25.25L3.5 20.25c0 .138.111.25.25.25h9.5a.25.25 0 00.25-.25v-1.51a.75.75 0 111.5 0v1.51A1.75 1.75 0 0113.25 22h-9.5A1.75 1.75 0 012 20.25l-.005-9.501z"/></svg>
|