@licklist/design 0.78.34 → 0.78.36

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 (102) hide show
  1. package/dist/index.d.ts +4 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +8 -2
  4. package/dist/provider/location-input/LocationInput.js +1 -1
  5. package/dist/v2/components/ActionMenu/ActionMenu.d.ts.map +1 -1
  6. package/dist/v2/components/ActionMenu/ActionMenu.js +6 -16
  7. package/dist/v2/components/ActionMenu/ActionMenu.scss.js +1 -1
  8. package/dist/v2/components/Badge/Badge.d.ts +1 -0
  9. package/dist/v2/components/Badge/Badge.d.ts.map +1 -1
  10. package/dist/v2/components/Badge/Badge.js +2 -1
  11. package/dist/v2/components/Badge/Badge.scss.js +1 -1
  12. package/dist/v2/components/Button/Button.scss.js +1 -1
  13. package/dist/v2/components/Checkbox/Checkbox.scss.js +1 -1
  14. package/dist/v2/components/FormField/FormField.d.ts +3 -0
  15. package/dist/v2/components/FormField/FormField.d.ts.map +1 -1
  16. package/dist/v2/components/FormField/FormField.js +14 -3
  17. package/dist/v2/components/FormField/FormField.scss.js +1 -1
  18. package/dist/v2/components/IconButton/IconButton.d.ts +9 -0
  19. package/dist/v2/components/IconButton/IconButton.d.ts.map +1 -0
  20. package/dist/v2/components/IconButton/IconButton.js +137 -0
  21. package/dist/v2/components/IconButton/IconButton.scss.js +6 -0
  22. package/dist/v2/components/IconButton/index.d.ts +3 -0
  23. package/dist/v2/components/IconButton/index.d.ts.map +1 -0
  24. package/dist/v2/components/NewInput/NewInput.d.ts +1 -0
  25. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -1
  26. package/dist/v2/components/NewInput/NewInput.js +7 -4
  27. package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +1 -1
  28. package/dist/v2/components/QuickFilter/QuickFilter.scss.js +1 -1
  29. package/dist/v2/components/TableSortIcon/TableSortIcon.d.ts.map +1 -1
  30. package/dist/v2/components/TableSortIcon/TableSortIcon.js +5 -3
  31. package/dist/v2/components/ZoneCard/AddResourceButton.d.ts +8 -0
  32. package/dist/v2/components/ZoneCard/AddResourceButton.d.ts.map +1 -0
  33. package/dist/v2/components/ZoneCard/AddResourceButton.js +17 -0
  34. package/dist/v2/components/ZoneCard/ResourceRow.d.ts +28 -0
  35. package/dist/v2/components/ZoneCard/ResourceRow.d.ts.map +1 -0
  36. package/dist/v2/components/ZoneCard/ResourceRow.js +191 -0
  37. package/dist/v2/components/ZoneCard/ZoneCard.d.ts +25 -0
  38. package/dist/v2/components/ZoneCard/ZoneCard.d.ts.map +1 -0
  39. package/dist/v2/components/ZoneCard/ZoneCard.js +43 -0
  40. package/dist/v2/components/ZoneCard/ZoneCard.scss.js +6 -0
  41. package/dist/v2/components/ZoneCard/ZoneContainer.d.ts +12 -0
  42. package/dist/v2/components/ZoneCard/ZoneContainer.d.ts.map +1 -0
  43. package/dist/v2/components/ZoneCard/ZoneContainer.js +16 -0
  44. package/dist/v2/components/ZoneCard/ZoneHeader.d.ts +20 -0
  45. package/dist/v2/components/ZoneCard/ZoneHeader.d.ts.map +1 -0
  46. package/dist/v2/components/ZoneCard/ZoneHeader.js +149 -0
  47. package/dist/v2/components/ZoneCard/index.d.ts +11 -0
  48. package/dist/v2/components/ZoneCard/index.d.ts.map +1 -0
  49. package/dist/v2/components/index.d.ts +5 -1
  50. package/dist/v2/components/index.d.ts.map +1 -1
  51. package/dist/v2/icons/index.d.ts +36 -2
  52. package/dist/v2/icons/index.d.ts.map +1 -1
  53. package/dist/v2/icons/index.js +97 -29
  54. package/dist/v2/index.d.ts +10 -0
  55. package/dist/v2/index.d.ts.map +1 -1
  56. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +5 -0
  57. package/dist/v2/pages/Settings/components/SidebarNavItem.js +5 -0
  58. package/dist/v2/pages/ZonesResources/ZonesResourcesPage.d.ts +12 -0
  59. package/dist/v2/pages/ZonesResources/ZonesResourcesPage.d.ts.map +1 -0
  60. package/dist/v2/pages/ZonesResources/ZonesResourcesPage.js +47 -0
  61. package/dist/v2/pages/ZonesResources/ZonesResourcesPage.scss.js +6 -0
  62. package/dist/v2/pages/ZonesResources/index.d.ts +3 -0
  63. package/dist/v2/pages/ZonesResources/index.d.ts.map +1 -0
  64. package/dist/v2/styles/form/NewInput.scss.js +1 -1
  65. package/package.json +3 -3
  66. package/src/index.ts +4 -1
  67. package/src/provider/location-input/LocationInput.tsx +1 -1
  68. package/src/v2/components/ActionMenu/ActionMenu.scss +7 -20
  69. package/src/v2/components/ActionMenu/ActionMenu.stories.tsx +58 -0
  70. package/src/v2/components/ActionMenu/ActionMenu.tsx +3 -6
  71. package/src/v2/components/Badge/Badge.scss +25 -23
  72. package/src/v2/components/Badge/Badge.tsx +3 -0
  73. package/src/v2/components/Checkbox/Checkbox.scss +3 -3
  74. package/src/v2/components/Customer/CustomersList.scss +60 -9
  75. package/src/v2/components/FormField/FormField.scss +20 -1
  76. package/src/v2/components/FormField/FormField.tsx +33 -19
  77. package/src/v2/components/IconButton/IconButton.scss +81 -0
  78. package/src/v2/components/IconButton/IconButton.stories.tsx +51 -0
  79. package/src/v2/components/IconButton/IconButton.tsx +50 -0
  80. package/src/v2/components/IconButton/index.ts +2 -0
  81. package/src/v2/components/NewInput/NewInput.tsx +5 -2
  82. package/src/v2/components/NewPageHeader/NewPageHeader.scss +1 -5
  83. package/src/v2/components/NewPageHeader/NewPageHeader.stories.tsx +28 -0
  84. package/src/v2/components/QuickFilter/QuickFilter.scss +14 -3
  85. package/src/v2/components/TableSortIcon/TableSortIcon.tsx +3 -5
  86. package/src/v2/components/ZoneCard/AddResourceButton.tsx +20 -0
  87. package/src/v2/components/ZoneCard/ResourceRow.tsx +115 -0
  88. package/src/v2/components/ZoneCard/ZoneCard.scss +226 -0
  89. package/src/v2/components/ZoneCard/ZoneCard.stories.tsx +137 -0
  90. package/src/v2/components/ZoneCard/ZoneCard.tsx +69 -0
  91. package/src/v2/components/ZoneCard/ZoneContainer.tsx +26 -0
  92. package/src/v2/components/ZoneCard/ZoneHeader.tsx +84 -0
  93. package/src/v2/components/ZoneCard/index.ts +14 -0
  94. package/src/v2/components/index.ts +13 -1
  95. package/src/v2/icons/index.tsx +147 -14
  96. package/src/v2/index.ts +21 -0
  97. package/src/v2/pages/ZonesResources/ZonesResourcesPage.scss +43 -0
  98. package/src/v2/pages/ZonesResources/ZonesResourcesPage.stories.tsx +46 -0
  99. package/src/v2/pages/ZonesResources/ZonesResourcesPage.tsx +49 -0
  100. package/src/v2/pages/ZonesResources/index.ts +2 -0
  101. package/src/v2/styles/components/Button.scss +1 -0
  102. package/src/v2/styles/form/NewInput.scss +39 -6
@@ -0,0 +1,43 @@
1
+ .zones-resources-page {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-self: stretch;
5
+
6
+ &__back {
7
+ padding: 24px 32px 0 32px;
8
+ align-self: flex-start;
9
+
10
+ .ghost-button {
11
+ color: var(--fill-action, #5D5BF4);
12
+ border-color: var(--borders-main-border-primary, #E8E9EF);
13
+
14
+ &:not(.active):hover:not(:disabled) {
15
+ background-color: var(--surface-action-soft, #F4F4FE);
16
+ color: var(--fill-action, #5D5BF4);
17
+ }
18
+
19
+ .ghost-button__icon svg {
20
+ width: 24px;
21
+ height: 24px;
22
+ }
23
+ }
24
+
25
+ @media (max-width: 768px) {
26
+ padding: 16px 16px 0 16px;
27
+ }
28
+ }
29
+
30
+ &__content {
31
+ padding: 24px 32px;
32
+
33
+ @media (max-width: 768px) {
34
+ padding: 0;
35
+ }
36
+ }
37
+
38
+ &__action {
39
+ margin-bottom: 16px;
40
+ display: flex;
41
+ justify-content: flex-end;
42
+ }
43
+ }
@@ -0,0 +1,46 @@
1
+ import React from 'react'
2
+ import { Meta, StoryObj } from '@storybook/react'
3
+ import { ZonesResourcesPage } from './ZonesResourcesPage'
4
+
5
+ export default {
6
+ title: 'v2/Pages/ZonesResourcesPage',
7
+ component: ZonesResourcesPage,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ },
11
+ } as Meta<typeof ZonesResourcesPage>
12
+
13
+ type Story = StoryObj<typeof ZonesResourcesPage>
14
+
15
+ export const Default: Story = {
16
+ args: {
17
+ onBack: () => alert('Back to Settings'),
18
+ onAction: () => alert('Add Zone clicked'),
19
+ },
20
+ }
21
+
22
+ export const WithContent: Story = {
23
+ args: {
24
+ onBack: () => alert('Back to Settings'),
25
+ onAction: () => alert('Add Zone clicked'),
26
+ children: (
27
+ <div style={{ padding: '16px', border: '1px solid var(--border-primary)', borderRadius: '8px' }}>
28
+ <p style={{ color: 'var(--label-secondary)', fontFamily: 'var(--font-family-sans)' }}>
29
+ Zone and resource content goes here
30
+ </p>
31
+ </div>
32
+ ),
33
+ },
34
+ }
35
+
36
+ export const WithoutBackButton: Story = {
37
+ args: {
38
+ onAction: () => alert('Add Zone clicked'),
39
+ },
40
+ }
41
+
42
+ export const WithoutAction: Story = {
43
+ args: {
44
+ onBack: () => alert('Back to Settings'),
45
+ },
46
+ }
@@ -0,0 +1,49 @@
1
+ import React from 'react'
2
+ import { GhostButton } from '../../components/Button'
3
+ import { NewPageHeader } from '../../components/NewPageHeader'
4
+ import { ArrowLeftIcon, PlusIcon } from '../../icons'
5
+ import './ZonesResourcesPage.scss'
6
+
7
+ export interface ZonesResourcesPageProps {
8
+ title?: string
9
+ backLabel?: string
10
+ onBack?: () => void
11
+ actionLabel?: string
12
+ onAction?: () => void
13
+ children?: React.ReactNode
14
+ }
15
+
16
+ export const ZonesResourcesPage: React.FC<ZonesResourcesPageProps> = ({
17
+ title = 'Zones & Resources',
18
+ backLabel = 'Back to Settings',
19
+ onBack,
20
+ actionLabel = 'Add Zone',
21
+ onAction,
22
+ children,
23
+ }) => {
24
+ return (
25
+ <div className="zones-resources-page">
26
+ {onBack && (
27
+ <div className="zones-resources-page__back">
28
+ <GhostButton onClick={onBack} icon={<ArrowLeftIcon />}>
29
+ {backLabel}
30
+ </GhostButton>
31
+ </div>
32
+ )}
33
+ <NewPageHeader
34
+ title={title}
35
+ showDivider
36
+ />
37
+ <div className="zones-resources-page__content">
38
+ {onAction && (
39
+ <div className="zones-resources-page__action">
40
+ <GhostButton onClick={onAction} icon={<PlusIcon width={16} height={16} />}>
41
+ {actionLabel}
42
+ </GhostButton>
43
+ </div>
44
+ )}
45
+ {children}
46
+ </div>
47
+ </div>
48
+ )
49
+ }
@@ -0,0 +1,2 @@
1
+ export { ZonesResourcesPage } from './ZonesResourcesPage'
2
+ export type { ZonesResourcesPageProps } from './ZonesResourcesPage'
@@ -105,6 +105,7 @@
105
105
  &--destructive-soft {
106
106
  border-radius: var(--radius-reg, 8px);
107
107
  background: var(--surface-danger-soft, #fceceb);
108
+ color: var(--label-danger);
108
109
 
109
110
  &:hover {
110
111
  background-color: var(--surface-danger-soft-hover, #f5c4c2);
@@ -15,16 +15,20 @@
15
15
  font-style: normal;
16
16
  font-weight: 600;
17
17
  line-height: 20px;
18
- color: var(--label-primary, #121E52);
19
- display: block;
18
+ color: var(--label-primary);
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+ width: 100%;
20
23
  }
21
24
 
22
25
  &__label-optional {
23
26
  font-family: var(--font-family-sans, 'Geist', sans-serif);
24
- font-size: 15px;
25
- font-weight: 600;
26
- line-height: 20px;
27
- color: var(--label-primary, #121E52);
27
+ font-size: 13px;
28
+ font-weight: 400;
29
+ font-style: normal;
30
+ line-height: 16px;
31
+ color: var(--label-secondary);
28
32
  }
29
33
 
30
34
 
@@ -218,9 +222,38 @@
218
222
  pointer-events: none;
219
223
  }
220
224
 
225
+ &--on-surface {
226
+ .new-form-input__input,
227
+ .new-form-input__textarea,
228
+ .new-form-input__input-with-icon {
229
+ background-color: var(--surface-primary, #fff);
230
+ background: var(--surface-primary, #fff);
231
+
232
+ &:focus,
233
+ &:focus-within {
234
+ background-color: var(--surface-primary, #fff);
235
+ }
236
+ }
237
+ }
238
+
221
239
  &.dob-input {
222
240
  .new-form-input__label {
223
241
  color: var(--label-secondary, #626A90);
224
242
  }
225
243
  }
226
244
  }
245
+
246
+ // Auto-detect: swap input backgrounds when inside a surface-secondary container
247
+ .surface-context--secondary {
248
+ .new-form-input__input,
249
+ .new-form-input__textarea,
250
+ .new-form-input__input-with-icon {
251
+ background-color: var(--surface-primary, #fff);
252
+ background: var(--surface-primary, #fff);
253
+
254
+ &:focus,
255
+ &:focus-within {
256
+ background-color: var(--surface-primary, #fff);
257
+ }
258
+ }
259
+ }