@omniumretail/component-library 1.2.22 → 1.2.23

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/dist/main.css CHANGED
@@ -8,7 +8,7 @@
8
8
  .YPXf1KvhUKPvYzjuCpbK{display:block;color:var(--color-black);text-transform:capitalize;font-size:var(--font-size-body-base);line-height:125%;font-weight:var(--font-weight-semibold)}.YPXf1KvhUKPvYzjuCpbK:not(:first-child){margin-top:8px}.ExPJyFK95xTcgtx9cRbg{text-transform:uppercase}
9
9
  .EBnBgAHgtsQFrDoso9Dw{background-color:var(--color-orange);height:1px;border:none}.FLVlQ5eFtNDkCl4IcIIx{opacity:50%}.L2HU9MLCi6B1ZsJyWfp9{background-color:var(--color-blue)}.MQcBac9Gnb9D2ONENY8Q{margin:8px 0}.tdvYp9O5RnLEsNa3E_wz{margin:16px 0}.hWWGCDnwP_ROWFDlyVxe{margin:24px 0}
10
10
  .pwZdBKCECvzAH92fQDTI{display:flex;flex-wrap:wrap;flex-direction:column}.pwZdBKCECvzAH92fQDTI .ant-table-thead>tr>th{background-color:rgba(0,0,0,0);border:0px;color:var(--color-blue)}.pwZdBKCECvzAH92fQDTI .ant-table-thead>tr>th:before{display:none}.pwZdBKCECvzAH92fQDTI .ant-table-tbody>tr{cursor:pointer}.pwZdBKCECvzAH92fQDTI .ant-table-tbody>tr:last-child>td{border-bottom:1px solid var(--color-grey-light) !important}.pwZdBKCECvzAH92fQDTI .ant-table-tbody>tr:first-child>td{border-top:1px solid var(--color-blue) !important}.pwZdBKCECvzAH92fQDTI .ant-table-tbody>tr:hover td{border-radius:0 !important;border-bottom-color:var(--color-grey-light) !important}.pwZdBKCECvzAH92fQDTI .ant-space{align-self:flex-end}.pwZdBKCECvzAH92fQDTI .ant-select-selection-placeholder{color:var(--color-black)}.pwZdBKCECvzAH92fQDTI .ant-select-selector,.pwZdBKCECvzAH92fQDTI .ant-select-focused .ant-select-selection-search{border:none !important;box-shadow:none !important}.pwZdBKCECvzAH92fQDTI .ant-select-selector:focus,.pwZdBKCECvzAH92fQDTI .ant-select-selector:hover,.pwZdBKCECvzAH92fQDTI .ant-select-focused .ant-select-selection-search:focus,.pwZdBKCECvzAH92fQDTI .ant-select-focused .ant-select-selection-search:hover{border:none !important;box-shadow:none !important}.pwZdBKCECvzAH92fQDTI .ant-pagination{max-width:calc(100% - 200px);margin-left:auto !important}.pwZdBKCECvzAH92fQDTI button[type=button].ant-pagination-item-link{margin-top:0 !important}.pwZdBKCECvzAH92fQDTI button[type=button]{margin-top:-50px}.ant-spin-dot-item{background-color:var(--color-blue) !important;opacity:1 !important}.ant-spin-dot-item:nth-child(2){background-color:var(--color-orange) !important;opacity:1}.ant-spin-dot-item:nth-child(3){background-color:var(--color-blue) !important;opacity:1}.ant-spin-dot-item:nth-child(4){background-color:var(--color-orange) !important;opacity:1}
11
- .yhGDUJJiYhqjPCJgNdjI{contain:inline-size}.yhGDUJJiYhqjPCJgNdjI .G9kG_bHpbSm0APdxALXI{margin-top:16px}.yhGDUJJiYhqjPCJgNdjI .G9kG_bHpbSm0APdxALXI.sFDpKKys2XzhCHAvcoE3{pointer-events:none}.LEywos4xlf3LV6eEFLFv{height:50px;display:flex;align-items:center;gap:12px;padding:16px;margin-inline-end:0;width:100%}.LEywos4xlf3LV6eEFLFv .ant-input{height:50px;padding-left:40px}.VhQgSZHBi1swQZeQePfL{height:50px}.Hfh5KLg4Y_g44Ajhx9aV .ant-tag{background-color:var(--color-orange);color:var(--color-white);padding:6px 16px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;padding-right:24px;min-height:34px}.Hfh5KLg4Y_g44Ajhx9aV .anticon-close{color:var(--color-white);font-size:12px;position:absolute;right:4px;top:10px}.Hfh5KLg4Y_g44Ajhx9aV .anticon-close:hover{color:var(--color-black)}.yhGDUJJiYhqjPCJgNdjI .shyWfuOXQO29Vq9I8XGV{display:flex;align-items:center;gap:32px;width:calc(100% - 40px)}@media(max-width: 768px){.yhGDUJJiYhqjPCJgNdjI .shyWfuOXQO29Vq9I8XGV{gap:12px;width:calc(100% - 20px)}}.yhGDUJJiYhqjPCJgNdjI .Gj9zvBh4toFNL6uoWOIk{display:flex;gap:12px}.yhGDUJJiYhqjPCJgNdjI .BvTiplJPlDM4ob_yobaL{display:flex;flex-direction:row;gap:12px;font-family:"SilkaBold";text-decoration:underline}.yhGDUJJiYhqjPCJgNdjI .BvTiplJPlDM4ob_yobaL div{cursor:pointer}.yhGDUJJiYhqjPCJgNdjI .Qw2jwswWLKYVmJayZ1oJ{display:flex;gap:20px}.yhGDUJJiYhqjPCJgNdjI .rxp2cwAB1kcsYH2aGI5w{margin-top:2px}
11
+ .yhGDUJJiYhqjPCJgNdjI{contain:inline-size}.yhGDUJJiYhqjPCJgNdjI .G9kG_bHpbSm0APdxALXI{margin-top:16px}.yhGDUJJiYhqjPCJgNdjI .G9kG_bHpbSm0APdxALXI.sFDpKKys2XzhCHAvcoE3{pointer-events:none}.LEywos4xlf3LV6eEFLFv{height:50px;display:flex;align-items:center;gap:12px;padding:16px;margin-inline-end:0;width:100%}.LEywos4xlf3LV6eEFLFv .ant-input{height:50px;padding-left:40px}.VhQgSZHBi1swQZeQePfL{height:50px}.Hfh5KLg4Y_g44Ajhx9aV .ant-tag{background-color:var(--color-orange);color:var(--color-white);padding:6px 16px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:relative;padding-right:24px;min-height:34px}.Hfh5KLg4Y_g44Ajhx9aV .anticon-close{color:var(--color-white);font-size:12px;position:absolute;right:4px;top:10px}.Hfh5KLg4Y_g44Ajhx9aV .anticon-close:hover{color:var(--color-black)}.yhGDUJJiYhqjPCJgNdjI .shyWfuOXQO29Vq9I8XGV{display:flex;align-items:center;gap:32px;width:calc(100% - 40px)}@media(max-width: 768px){.yhGDUJJiYhqjPCJgNdjI .shyWfuOXQO29Vq9I8XGV{gap:12px;width:calc(100% - 20px)}}.yhGDUJJiYhqjPCJgNdjI .Gj9zvBh4toFNL6uoWOIk{display:flex;gap:12px}.yhGDUJJiYhqjPCJgNdjI .BvTiplJPlDM4ob_yobaL{display:flex;flex-direction:row;gap:12px;font-family:"SilkaBold";text-decoration:underline}.yhGDUJJiYhqjPCJgNdjI .BvTiplJPlDM4ob_yobaL div{cursor:pointer}.yhGDUJJiYhqjPCJgNdjI .Qw2jwswWLKYVmJayZ1oJ{display:flex;gap:20px}.yhGDUJJiYhqjPCJgNdjI .rxp2cwAB1kcsYH2aGI5w{margin-top:2px}.yhGDUJJiYhqjPCJgNdjI .EEQhox2z9ItIwQp0EGGL{width:100%;justify-content:flex-end}
12
12
  .gER2xKwlnobsIz4BLhGJ{background-color:var(--color-grey) !important}.gER2xKwlnobsIz4BLhGJ[aria-checked=true]{background:var(--color-orange) !important}
13
13
  .vdTO5pKaLXA2FdyblLq5{border-color:rgba(var(--color-black-rgb), 0.5)}
14
14
  .e3BZiSKkbgvekUOREMi6{font-weight:var(--font-weight-medium);font-size:var(--font-size-body-3);margin-right:44px;margin-top:18px}.e3BZiSKkbgvekUOREMi6 .ant-radio-checked .ant-radio-inner{border-color:var(--color-black)}.e3BZiSKkbgvekUOREMi6 .ant-radio-checked .ant-radio-inner:after{background-color:var(--color-black)}.e3BZiSKkbgvekUOREMi6 .ant-radio-checked:hover .ant-radio-inner:after{background-color:var(--color-orange)}.e3BZiSKkbgvekUOREMi6 .ant-radio:hover .ant-radio-inner{border-color:var(--color-orange)}
@@ -12,5 +12,10 @@ export interface customTagProps extends TagProps {
12
12
  disable?: boolean;
13
13
  addSwitch?: boolean;
14
14
  setInactiveUsersSwitch?: React.Dispatch<React.SetStateAction<boolean>>;
15
+ hideAdvancedFilters?: boolean;
16
+ defaultAdvancedFilters?: {
17
+ display: string;
18
+ value: string;
19
+ }[];
15
20
  }
16
21
  export declare const TagField: (props: customTagProps) => import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omniumretail/component-library",
3
- "version": "1.2.22",
3
+ "version": "1.2.23",
4
4
  "private": false,
5
5
  "main": "dist/bundle.js",
6
6
  "typings": "./dist/types/index",
@@ -15,13 +15,14 @@ const Template: Story<TagProps> = (args) => {
15
15
  const advancedsFilters = [{ display: t('components.tag.State'), value: "State" }, { display: t('components.tag.1'), value: "Olaaaaaa" }];
16
16
  const [switchTest, setSwitchTest] = useState<boolean>(false);
17
17
 
18
- console.log(switchTest);
19
-
20
18
  console.log('page: basic', tagsInfo, 'advanced', advancedTagsInfo);
21
19
 
22
20
  return <TagField
23
21
  disable={false}
24
22
  {...args}
23
+ defaultAdvancedFilters={[
24
+ { display: `${t('components.tag.State')}=xpto`, value: "State=xpto" },
25
+ ]}
25
26
  setInactiveUsersSwitch={setSwitchTest}
26
27
  advancedTags={advancedsFilters}
27
28
  tagsInfo={setTagsInfo}
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, useRef, useState } from 'react';
2
- import { SearchOutlined } from '@ant-design/icons';
2
+ import { DownOutlined, SearchOutlined, UpOutlined } from '@ant-design/icons';
3
3
  import type { InputRef } from 'antd';
4
4
  import { Input, Tag, TagProps } from 'antd';
5
5
  import { TweenOneGroup } from 'rc-tween-one';
@@ -17,18 +17,26 @@ export interface customTagProps extends TagProps {
17
17
  disable?: boolean;
18
18
  addSwitch?: boolean;
19
19
  setInactiveUsersSwitch?: React.Dispatch<React.SetStateAction<boolean>>;
20
+ hideAdvancedFilters?: boolean;
21
+ defaultAdvancedFilters?: { display: string; value: string }[];
20
22
  }
21
23
 
22
24
  export const TagField = (props: customTagProps) => {
23
- const { customTags = [], advancedTags, disable } = props;
25
+ const { customTags = [], advancedTags, disable, defaultAdvancedFilters = [], hideAdvancedFilters = false } = props;
24
26
 
25
27
  const [tags, setTags] = useState<string[]>(customTags.filter(tag => !tag.includes('=')));
26
28
  const [inputVisible, setInputVisible] = useState<boolean>(false);
27
29
  const [inputValue, setInputValue] = useState('');
28
30
  // const [switchValue, setSwitchValue] = useState<boolean>(false);
29
31
  const inputRef = useRef<InputRef>(null);
30
- const [advancedTagList, setAdvancedTagList] = useState<Array<{ display: string; value: string }>>([]);
31
- const [allTags, setAllTags] = useState<string[]>(customTags.filter(tag => !tag.includes('=')));
32
+ const [advancedTagList, setAdvancedTagList] = useState<Array<{ display: string; value: string }>>(
33
+ defaultAdvancedFilters
34
+ );
35
+ const [allTags, setAllTags] = useState<string[]>([
36
+ ...customTags.filter(tag => !tag.includes('=')),
37
+ ...defaultAdvancedFilters.map((filter) => `${filter.display}`),
38
+ ]);
39
+ const [showAdvancedFilters, setShowAdvancedFilters] = useState<boolean>(true);
32
40
 
33
41
  useEffect(() => {
34
42
  if (inputVisible) {
@@ -43,6 +51,9 @@ export const TagField = (props: customTagProps) => {
43
51
  const newTags = tags.filter((tag) => tag !== removedTag);
44
52
  setTags(newTags);
45
53
 
54
+ console.log(advancedTagList, "2");
55
+ console.log(removedTag, "1");
56
+
46
57
  if (advancedTags && advancedTagList.some(tag => tag.display === removedTag)) {
47
58
  const newAdvancedTags = advancedTagList.filter((tag) => tag.display !== removedTag);
48
59
  setAdvancedTagList(newAdvancedTags);
@@ -111,6 +122,12 @@ export const TagField = (props: customTagProps) => {
111
122
  }
112
123
  };
113
124
 
125
+ const handleHideAdvancedFilters = () => {
126
+ if (hideAdvancedFilters) {
127
+ setShowAdvancedFilters(!showAdvancedFilters);
128
+ }
129
+ };
130
+
114
131
  const doSomething = (e: any) => {
115
132
  const tag = e.target.innerText;
116
133
  if (!advancedTagList.map(tagObj => tagObj.display).includes(tag)) {
@@ -184,18 +201,34 @@ export const TagField = (props: customTagProps) => {
184
201
  onPressEnter={handleInputConfirm}
185
202
  className={styles['tagfield__input']}
186
203
  disabled={disable}
204
+ suffix={
205
+ hideAdvancedFilters ? (
206
+ showAdvancedFilters ? (
207
+ <UpOutlined onClick={() => setShowAdvancedFilters(false)} />
208
+ ) : (
209
+ <DownOutlined onClick={() => setShowAdvancedFilters(true)} />
210
+ )
211
+ ) : null
212
+ }
187
213
  />
188
214
  )}
189
215
 
190
216
  {!inputVisible && (
191
217
  <Tag onClick={showInput} className={classNames(styles['tagfield__creator'], 'site-tag-plus')}>
192
218
  <SearchOutlined /> {t('components.tag.search')}
219
+
220
+ {hideAdvancedFilters && (
221
+ showAdvancedFilters ? (
222
+ <UpOutlined className={styles.tagIcon} onClick={() => setShowAdvancedFilters(false)} />
223
+ ) : (
224
+ <DownOutlined className={styles.tagIcon} onClick={() => setShowAdvancedFilters(true)} />
225
+ )
226
+ )}
193
227
  </Tag>
194
228
  )}
195
229
  </div>
196
230
 
197
- {
198
- advancedTags &&
231
+ {showAdvancedFilters && advancedTags && (
199
232
  <div style={{ marginTop: 16, marginBottom: 16 }} className={styles.advancedTagsWrapper}>
200
233
  <div className={styles.label}>
201
234
  {t('components.tag.advancedFields')}:
@@ -204,7 +237,7 @@ export const TagField = (props: customTagProps) => {
204
237
  {advancedTagsChild}
205
238
  </div>
206
239
  </div>
207
- }
240
+ )}
208
241
 
209
242
  {props.setInactiveUsersSwitch &&
210
243
  <div className={styles.switchContainer}>
@@ -96,4 +96,9 @@
96
96
  .inactiveSwitchStyle {
97
97
  margin-top: 2px;
98
98
  }
99
+
100
+ .tagIcon {
101
+ width: 100%;
102
+ justify-content: flex-end;
103
+ }
99
104
  }