@licklist/design 0.78.5-dev.58 → 0.78.5-dev.59

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 (73) hide show
  1. package/dist/Maintenance/MaintenancePage.js +1 -0
  2. package/dist/index.js +3 -1
  3. package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -1
  4. package/dist/v2/components/ActionMenu/ActionMenu.js +60 -8
  5. package/dist/v2/components/ActionMenu/ActionMenu.scss.js +1 -1
  6. package/dist/v2/components/Badge/Badge.d.ts.map +1 -1
  7. package/dist/v2/components/Badge/Badge.js +1 -1
  8. package/dist/v2/components/Badge/Badge.scss.js +1 -1
  9. package/dist/v2/components/Button/Button.d.ts +1 -1
  10. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  11. package/dist/v2/components/Button/Button.js +1 -0
  12. package/dist/v2/components/Button/GhostButton.scss.js +1 -1
  13. package/dist/v2/components/Button/index.d.ts +2 -0
  14. package/dist/v2/components/Button/index.d.ts.map +1 -1
  15. package/dist/v2/components/FormField/FormField.d.ts.map +1 -1
  16. package/dist/v2/components/Modal/DeleteModal.d.ts.map +1 -1
  17. package/dist/v2/components/Modal/DeleteModal.js +4 -0
  18. package/dist/v2/components/NPSScore/NPSScore.js +1 -0
  19. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -1
  20. package/dist/v2/components/NewInput/NewInput.js +8 -0
  21. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +2 -1
  22. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -1
  23. package/dist/v2/components/NewPageHeader/NewPageHeader.js +3 -2
  24. package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +1 -1
  25. package/dist/v2/components/NewTable/NewTable.d.ts.map +1 -1
  26. package/dist/v2/components/NewTable/NewTable.js +1 -0
  27. package/dist/v2/components/NewTable/NewTable.scss.js +1 -1
  28. package/dist/v2/components/Pagination/Pagination.js +1 -4
  29. package/dist/v2/components/Pagination/Pagination.scss.js +1 -1
  30. package/dist/v2/components/QuickFilter/QuickFilter.d.ts.map +1 -1
  31. package/dist/v2/components/QuickFilter/QuickFilter.js +5 -2
  32. package/dist/v2/components/QuickFilter/QuickFilter.scss.js +1 -1
  33. package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -1
  34. package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts +9 -0
  35. package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts.map +1 -0
  36. package/dist/v2/components/TableSortIcon/TableSortIcon.js +14 -0
  37. package/dist/v2/components/TableSortIcon/index.d.ts +2 -0
  38. package/dist/v2/components/TableSortIcon/index.d.ts.map +1 -0
  39. package/dist/v2/components/WYSIWYGEditor/Icons.js +2 -2
  40. package/dist/v2/components/index.d.ts +5 -3
  41. package/dist/v2/components/index.d.ts.map +1 -1
  42. package/dist/v2/icons/index.d.ts +10 -0
  43. package/dist/v2/icons/index.d.ts.map +1 -1
  44. package/dist/v2/icons/index.js +61 -1
  45. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +2 -3
  46. package/dist/v2/pages/Settings/components/SidebarNavItem.js +2 -2
  47. package/package.json +1 -1
  48. package/src/v2/components/ActionMenu/ActionMenu.scss +22 -5
  49. package/src/v2/components/ActionMenu/ActionMenu.tsx +53 -5
  50. package/src/v2/components/Badge/Badge.scss +13 -0
  51. package/src/v2/components/Badge/Badge.tsx +10 -8
  52. package/src/v2/components/Button/Button.tsx +13 -2
  53. package/src/v2/components/Button/GhostButton.scss +11 -1
  54. package/src/v2/components/Button/index.ts +2 -0
  55. package/src/v2/components/Customer/CustomersList.scss +72 -115
  56. package/src/v2/components/FormField/FormField.tsx +19 -21
  57. package/src/v2/components/Modal/DeleteModal.tsx +4 -2
  58. package/src/v2/components/NewInput/NewInput.tsx +13 -1
  59. package/src/v2/components/NewPageHeader/NewPageHeader.scss +8 -5
  60. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +21 -21
  61. package/src/v2/components/NewTable/NewTable.scss +17 -1
  62. package/src/v2/components/NewTable/NewTable.tsx +1 -0
  63. package/src/v2/components/Pagination/Pagination.scss +18 -18
  64. package/src/v2/components/Pagination/Pagination.tsx +1 -1
  65. package/src/v2/components/QuickFilter/QuickFilter.scss +17 -34
  66. package/src/v2/components/QuickFilter/QuickFilter.tsx +7 -5
  67. package/src/v2/components/SectionHeader/SectionHeader.tsx +5 -7
  68. package/src/v2/components/TableSortIcon/TableSortIcon.tsx +20 -0
  69. package/src/v2/components/TableSortIcon/index.ts +1 -0
  70. package/src/v2/components/WYSIWYGEditor/Icons.tsx +2 -2
  71. package/src/v2/components/index.ts +8 -3
  72. package/src/v2/icons/index.tsx +14 -0
  73. package/src/v2/pages/Settings/components/SidebarCustomisation.tsx +1 -1
@@ -14,28 +14,9 @@
14
14
  display: flex;
15
15
  flex-wrap: wrap;
16
16
  gap: 8px;
17
- }
18
-
19
- &__option {
20
- padding: 4px 16px;
21
- border-radius: 100px;
22
- border: 1px solid var(--border-primary, #E8E9EF);
23
- background-color: var(--neutral-white, #FFFFFF);
24
- font-size: var(--text-small-size, 13px);
25
- font-weight: 500;
26
- color: var(--label-primary, #121E52);
27
- cursor: pointer;
28
- transition: all 0.2s ease;
29
17
 
30
- &:hover:not(&--active) {
31
- background-color: var(--surface-primary-hover, #F8F8FA);
32
- }
33
-
34
- &--active {
35
- background-color: var(--fill-primary);
36
- border-color: var(--border-selected, #121E52);
37
- color: var(--neutral-white, #FFFFFF);
38
- font-weight: 600;
18
+ .ghost-button {
19
+ border-radius: 100px;
39
20
  }
40
21
  }
41
22
  }
@@ -43,29 +24,36 @@
43
24
  // Mobile styles
44
25
  @media (max-width: 768px) {
45
26
  .quick-filter {
46
- flex-direction: column;
27
+ display: flex;
28
+ flex-direction: row;
47
29
  align-items: flex-start;
48
- gap: 8px;
30
+ gap: 12px;
31
+ width: 100%;
49
32
 
50
33
  &__label {
51
34
  font-size: 12px;
52
35
  }
53
36
 
54
37
  &__options {
55
- width: 100%;
38
+ flex: 1;
39
+ display: flex;
40
+ flex-wrap: wrap;
56
41
  gap: 6px;
57
- }
42
+ padding: 0;
43
+ margin: 0;
44
+ min-width: 0;
58
45
 
59
- &__option {
60
- padding: 3px 12px;
61
- font-size: 12px;
46
+ .ghost-button {
47
+ flex-shrink: 0;
48
+ border-radius: 100px;
49
+ }
62
50
  }
63
51
  }
64
52
  }
65
53
 
66
54
  @media (max-width: 480px) {
67
55
  .quick-filter {
68
- gap: 6px;
56
+ gap: 8px;
69
57
 
70
58
  &__label {
71
59
  font-size: 11px;
@@ -74,11 +62,6 @@
74
62
  &__options {
75
63
  gap: 4px;
76
64
  }
77
-
78
- &__option {
79
- padding: 2px 10px;
80
- font-size: 11px;
81
- }
82
65
  }
83
66
  }
84
67
 
@@ -1,4 +1,5 @@
1
1
  import React from 'react'
2
+ import { GhostButton } from '../Button'
2
3
  import './QuickFilter.scss'
3
4
 
4
5
  export interface QuickFilterOption {
@@ -32,16 +33,17 @@ export const QuickFilter: React.FC<QuickFilterProps> = ({
32
33
  {label && <span className="quick-filter__label">{label}</span>}
33
34
  <div className="quick-filter__options">
34
35
  {options.map((option) => (
35
- <button
36
+ <GhostButton
36
37
  key={option.value}
37
38
  type="button"
38
- className={`quick-filter__option ${
39
- selectedValues?.includes(option.value) ? 'quick-filter__option--active' : ''
40
- }`}
39
+ size="sm"
40
+ className={
41
+ selectedValues?.includes(option.value) ? 'active' : ''
42
+ }
41
43
  onClick={() => toggleOption(option.value)}
42
44
  >
43
45
  {option.label}
44
- </button>
46
+ </GhostButton>
45
47
  ))}
46
48
  </div>
47
49
  </div>
@@ -6,10 +6,8 @@ export interface SectionHeaderProps {
6
6
  className?: string;
7
7
  }
8
8
 
9
- export const SectionHeader: React.FC<SectionHeaderProps> = ({ title, className = '' }) => {
10
- return (
11
- <span className={`section-header ${className}`}>
12
- {title}
13
- </span>
14
- );
15
- };
9
+ export const SectionHeader: React.FC<SectionHeaderProps> = ({ title, className = '' }) => (
10
+ <span className={`section-header ${className}`}>
11
+ {title}
12
+ </span>
13
+ );
@@ -0,0 +1,20 @@
1
+ import React from 'react'
2
+ import { ArrowUpIcon, ArrowDownIcon } from '../../icons'
3
+
4
+ export type SortDirection = 'asc' | 'desc' | null
5
+
6
+ export interface TableSortIconProps {
7
+ active?: boolean
8
+ direction: SortDirection
9
+ className?: string
10
+ }
11
+
12
+ export const TableSortIcon: React.FC<TableSortIconProps> = ({ active = false, direction, className = '' }) => {
13
+ if (!active || !direction) return null
14
+
15
+ return (
16
+ <span className={className}>
17
+ {direction === 'asc' ? <ArrowUpIcon /> : <ArrowDownIcon />}
18
+ </span>
19
+ )
20
+ }
@@ -0,0 +1 @@
1
+ export * from './TableSortIcon'
@@ -62,8 +62,8 @@ export const QuoteAltIcon = () => (
62
62
  export const DividerIcon = () => (
63
63
  <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
64
64
  <rect x="5.25" y="11.25" width="13.5" height="1.5" fill="#626A90"/>
65
- <circle cx="21.75" cy="12" r="0.75" fill="#626A90" fill-opacity="0.5"/>
66
- <circle cx="2.25" cy="12" r="0.75" fill="#626A90" fill-opacity="0.5"/>
65
+ <circle cx="21.75" cy="12" r="0.75" fill="#626A90" fillOpacity="0.5"/>
66
+ <circle cx="2.25" cy="12" r="0.75" fill="#626A90" fillOpacity="0.5"/>
67
67
  </svg>
68
68
  );
69
69
 
@@ -7,6 +7,9 @@ export type { QuickFilterProps, QuickFilterOption } from './QuickFilter'
7
7
  export { NewTable } from './NewTable'
8
8
  export type { NewTableProps, NewTableColumn } from './NewTable'
9
9
 
10
+ export { TableSortIcon } from './TableSortIcon'
11
+ export type { TableSortIconProps } from './TableSortIcon'
12
+
10
13
 
11
14
  export { ActionMenu } from './ActionMenu'
12
15
  export type { ActionMenuProps, ActionMenuItem } from './ActionMenu'
@@ -34,8 +37,8 @@ export { SectionHeader } from './SectionHeader'
34
37
  export type { SectionHeaderProps } from './SectionHeader'
35
38
 
36
39
  // Existing Components
37
- export { Button, ButtonText } from './Button'
38
- export type { ButtonProps, ButtonTextProps } from './Button'
40
+ export { Button, ButtonText, GhostButton } from './Button'
41
+ export type { ButtonProps, ButtonTextProps, GhostButtonProps } from './Button'
39
42
 
40
43
  export { Select } from './Select'
41
44
 
@@ -69,6 +72,8 @@ export {
69
72
  ExternalLinkIcon,
70
73
  ExportIcon,
71
74
  ClearIcon,
72
- CloseIcon
75
+ CloseIcon,
76
+ EllipsisIcon,
77
+ CircleIcon
73
78
  } from '../icons'
74
79
 
@@ -207,5 +207,19 @@ export const CloseIcon = ({width = 24, height = 24, ...props
207
207
  </svg>
208
208
  )
209
209
 
210
+ export const EllipsisIcon = ({ width = 32, height = 32, fill = 'black', ...props }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number; fill?: string } = {}) => (
211
+ <svg width={width} height={height} viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg" {...props}>
212
+ <circle cx="8" cy="16" r="3" fill={fill} />
213
+ <circle cx="16" cy="16" r="3" fill={fill} />
214
+ <circle cx="24" cy="16" r="3" fill={fill} />
215
+ </svg>
216
+ )
217
+
218
+ export const CircleIcon = ({ width = 32, height = 32, fill = 'var(--surface-action-soft)', className = '', ...props }: React.SVGProps<SVGSVGElement> & { width?: number; height?: number; fill?: string } = {}) => (
219
+ <svg width={width} height={height} viewBox="0 0 32 32" fill="none" className={className} xmlns="http://www.w3.org/2000/svg" {...props}>
220
+ <circle cx="16" cy="16" r="16" fill={fill} />
221
+ </svg>
222
+ )
223
+
210
224
 
211
225
 
@@ -174,4 +174,4 @@ export const SidebarCustomisation: React.FC<SidebarCustomisationProps> = ({
174
174
  )
175
175
  }
176
176
 
177
- export default SidebarCustomisation
177
+ export default SidebarCustomisation