@licklist/design 0.78.5-dev.34 → 0.78.5-dev.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 (47) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/v2/components/NPSScore/NPSScore.d.ts +18 -0
  3. package/dist/v2/components/NPSScore/NPSScore.d.ts.map +1 -0
  4. package/dist/v2/components/NPSScore/index.d.ts +3 -0
  5. package/dist/v2/components/NPSScore/index.d.ts.map +1 -0
  6. package/dist/v2/components/Tooltip/Tooltip.d.ts +5 -4
  7. package/dist/v2/components/Tooltip/Tooltip.d.ts.map +1 -1
  8. package/dist/v2/components/UserPanel/UserPanel.js +168 -0
  9. package/dist/v2/components/UserPanel/UserPanel.scss.js +6 -0
  10. package/dist/v2/index.d.ts +4 -0
  11. package/dist/v2/index.d.ts.map +1 -1
  12. package/dist/v2/navigation/DashboardLayout/DashboardFooter.js +1 -1
  13. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts +8 -0
  14. package/dist/v2/navigation/DashboardLayout/DashboardLayout.d.ts.map +1 -1
  15. package/dist/v2/navigation/DashboardLayout/DashboardLayout.js +8 -2
  16. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts +20 -0
  17. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.d.ts.map +1 -1
  18. package/dist/v2/navigation/DashboardLayout/ProviderSidebar.js +66 -65
  19. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts +5 -0
  20. package/dist/v2/navigation/DashboardLayout/TopNavigation.d.ts.map +1 -1
  21. package/dist/v2/navigation/DashboardLayout/TopNavigation.js +16 -1
  22. package/dist/v2/navigation/DashboardLayout/index.d.ts +1 -1
  23. package/dist/v2/navigation/DashboardLayout/index.d.ts.map +1 -1
  24. package/dist/v2/styles/components/Button.scss +168 -0
  25. package/dist/v2/styles/form/NewInput.scss +172 -0
  26. package/dist/v2/styles/index.scss +4 -0
  27. package/dist/v2/styles/navigation/Navigation.scss +17 -0
  28. package/dist/v2/styles/navigation/NavigationItem.scss +86 -0
  29. package/dist/v2/styles/navigation/NavigationSection.scss +26 -0
  30. package/dist/v2/styles/navigation/_index.scss +9 -0
  31. package/dist/v2/styles/tokens/_colors.scss +554 -0
  32. package/dist/v2/styles/tokens/_sizes.scss +122 -0
  33. package/dist/v2/styles/tokens/_status.scss +108 -0
  34. package/dist/v2/styles/tokens/_typography.scss +146 -0
  35. package/package.json +2 -1
  36. package/rollup.config.js +1 -0
  37. package/src/v2/components/NPSScore/NPSScore.scss +330 -0
  38. package/src/v2/components/NPSScore/NPSScore.stories.tsx +29 -0
  39. package/src/v2/components/NPSScore/NPSScore.tsx +209 -0
  40. package/src/v2/components/NPSScore/index.ts +2 -0
  41. package/src/v2/dashboard-analytics/dashboard/Dashboard.stories.tsx +34 -0
  42. package/src/v2/index.ts +32 -0
  43. package/src/v2/navigation/DashboardLayout/DashboardFooter.tsx +1 -1
  44. package/src/v2/navigation/DashboardLayout/DashboardLayout.tsx +37 -12
  45. package/src/v2/navigation/DashboardLayout/ProviderSidebar.tsx +41 -23
  46. package/src/v2/navigation/DashboardLayout/TopNavigation.tsx +27 -1
  47. package/src/v2/navigation/DashboardLayout/index.ts +15 -1
@@ -1,5 +1,5 @@
1
1
  export { DashboardLayout, type DashboardLayoutProps, type DestinationType } from './DashboardLayout';
2
- export { ProviderSidebar, type ProviderSidebarProps } from './ProviderSidebar';
2
+ export { ProviderSidebar, type ProviderSidebarProps, type NavItem, HomeIcon, FlowsIcon, InventoryIcon, LoyaltyIcon, CustomersIcon, ReportsIcon, AnalyticsIcon, MarketingIcon, WaiversIcon, SettingsIcon, } from './ProviderSidebar';
3
3
  export { AdminSidebar, type AdminSidebarProps } from './AdminSidebar';
4
4
  export { TopNavigation, type TopNavigationProps } from './TopNavigation';
5
5
  export { DashboardFooter, type DashboardFooterProps } from './DashboardFooter';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/navigation/DashboardLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACpG,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/navigation/DashboardLayout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACpG,OAAO,EACH,eAAe,EACf,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACZ,QAAQ,EACR,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,GACf,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,168 @@
1
+ /* Button Component Styles based on Figma design */
2
+
3
+ .new-button {
4
+ display: flex;
5
+ gap: var(--spacing-sm, 8px);
6
+ align-items: center;
7
+ justify-content: center;
8
+ padding: var(--spacing-sm, 8px) var(--spacing-reg, 16px);
9
+ border-radius: var(--radius-md, 4px);
10
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
11
+ font-weight: var(--heading-h5-weight, 600);
12
+ font-size: var(--text-reg-size, 15px);
13
+ line-height: var(--text-reg-line, 18px);
14
+ border: none;
15
+ cursor: pointer;
16
+ transition: all 0.2s ease;
17
+ white-space: nowrap;
18
+
19
+ // Primary Button - Solid with gradient
20
+ &--primary {
21
+ background: linear-gradient(
22
+ 180deg,
23
+ rgba(255, 255, 255, 0.2) 0%,
24
+ var(--purples-purple-500) 5.77%,
25
+ var(--purples-purple-700) 95.19%,
26
+ var(--purples-purple-900) 100%
27
+ ),
28
+ linear-gradient(
29
+ 180deg,
30
+ var(--purples-purple-50) 0%,
31
+ var(--purples-purple-900) 100%
32
+ ),
33
+ linear-gradient(90deg, var(--purples-purple-500) 0%, var(--purples-purple-500) 100%);
34
+ color: var(--labels-main-label-white, #ffffff);
35
+
36
+ &:hover {
37
+ background-color: var(--fills-main-fill-action, #6200ee);
38
+ }
39
+
40
+ &:active,
41
+ &:focus {
42
+ background-color: var(--fills-main-fill-action, #6200ee);
43
+ }
44
+ }
45
+
46
+ // Primary - Soft
47
+ &--primary-soft {
48
+ background-color: var(--surfaces-main-background-action-soft, #efe6fd);
49
+ color: var(--labels-main-label-action, #6200ee);
50
+
51
+ &:hover {
52
+ background-color: var(--surfaces-main-background-action-soft-hover, #ceb0fa);
53
+ }
54
+
55
+ &:active {
56
+ background-color: var(--surfaces-main-background-action-soft-pressed, #965ff4);
57
+ color: var(--labels-main-label-white, #ffffff);
58
+ }
59
+ }
60
+
61
+ // Primary - Outline
62
+ &--primary-outline {
63
+ border: 2px solid var(--fills-main-fill-action, #6200ee);
64
+ background-color: transparent;
65
+ color: var(--labels-main-label-action, #6200ee);
66
+
67
+ &:hover {
68
+ border: 2px solid var(--fills-main-fill-action, #6200ee);
69
+ background-color: var(--surfaces-main-background-action-soft, #efe6fd);
70
+ }
71
+
72
+ &:active {
73
+ background-color: var(--surfaces-main-background-action-soft, #efe6fd);
74
+ }
75
+ }
76
+
77
+ // Secondary Button
78
+ &--secondary {
79
+ background: linear-gradient(
80
+ 180deg,
81
+ rgba(255, 255, 255, 0.2) 0%,
82
+ var(--neutrals-gray-200) 5.77%,
83
+ var(--purples-purple-700) 95.19%,
84
+ var(--purples-purple-900) 100%
85
+ ),
86
+ linear-gradient(
87
+ 180deg,
88
+ var(--neutrals-gray-200) 0%,
89
+ var(--fills-main-fill-secondary) 100%
90
+ ),
91
+ linear-gradient(90deg, var(--fills-main-fill-secondary) 0%, var(--fills-main-fill-secondary) 100%);
92
+ color: var(--labels-main-label-white, #ffffff);
93
+
94
+ &:hover,
95
+ &:active {
96
+ // Same gradient for hover/pressed states
97
+ }
98
+ }
99
+
100
+ // Destructive - Soft
101
+ &--destructive-soft {
102
+ background-color: var(--surfaces-main-background-danger-soft, #fceceb);
103
+ color: var(--labels-main-label-danger, #cc3c35);
104
+
105
+ &:hover {
106
+ background-color: var(--surfaces-main-background-danger-soft-hover, #f5c4c2);
107
+ }
108
+
109
+ &:active {
110
+ background-color: var(--surfaces-main-background-danger-soft-pressed, #e66861);
111
+ color: var(--labels-main-label-white, #ffffff);
112
+ }
113
+ }
114
+
115
+ // Destructive - Strong
116
+ &--destructive-strong {
117
+ background: linear-gradient(
118
+ 180deg,
119
+ rgba(255, 255, 255, 0.2) 0%,
120
+ var(--red-red) 5.77%,
121
+ var(--red-red-dark) 95.19%,
122
+ var(--red-red-darkest) 100%
123
+ ),
124
+ linear-gradient(
125
+ 180deg,
126
+ var(--red-red-lighter) 0%,
127
+ var(--red-red-darkest) 100%
128
+ ),
129
+ linear-gradient(90deg, var(--red-red-dark) 0%, var(--red-red-dark) 100%);
130
+ color: var(--labels-main-label-white, #ffffff);
131
+
132
+ &:hover,
133
+ &:active {
134
+ background-color: var(--fills-main-fill-danger, #cc3c35);
135
+ }
136
+ }
137
+
138
+ // Info Button
139
+ &--info {
140
+ background-color: var(--surfaces-status-background-info, #e7f4fc);
141
+ color: var(--labels-status-label-info, #0d7fce);
142
+
143
+ &:hover,
144
+ &:active {
145
+ // Same background for hover/pressed states
146
+ }
147
+ }
148
+
149
+ // Disabled state
150
+ &:disabled,
151
+ &--disabled {
152
+ background-color: var(--surfaces-status-background-disabled, #d2d5e3);
153
+ color: var(--labels-status-label-disabled, #9399b3);
154
+ cursor: not-allowed;
155
+ pointer-events: none;
156
+ }
157
+
158
+ // Text styling
159
+ p {
160
+ margin: 0;
161
+ font-family: inherit;
162
+ font-weight: inherit;
163
+ font-size: inherit;
164
+ line-height: inherit;
165
+ color: inherit;
166
+ }
167
+ }
168
+
@@ -0,0 +1,172 @@
1
+ /* New Form Input Styles based on Figma design tokens */
2
+
3
+ .new-form-input {
4
+ display: flex;
5
+ flex-direction: column;
6
+ gap: var(--spacing-xs, 4px);
7
+ width: 100%;
8
+
9
+ &__label {
10
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
11
+ font-size: var(--text-sm-size, 13px);
12
+ font-weight: var(--heading-h5-weight, 500);
13
+ line-height: var(--text-sm-line, 16px);
14
+ color: var(--labels-main-label-primary, #121e52);
15
+ margin: 0;
16
+ }
17
+
18
+ &__label-optional {
19
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
20
+ font-size: var(--text-xs-size, 11px);
21
+ font-weight: var(--heading-h6-weight, 500);
22
+ line-height: var(--text-xs-line, 14px);
23
+ color: var(--labels-main-label-secondary, #626a90);
24
+ text-align: right;
25
+ }
26
+
27
+ &__label-row {
28
+ display: flex;
29
+ justify-content: space-between;
30
+ align-items: center;
31
+ gap: var(--spacing-reg, 16px);
32
+ width: 100%;
33
+ }
34
+
35
+ &__input {
36
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
37
+ font-size: var(--text-sm-size, 13px);
38
+ line-height: var(--text-sm-line, 16px);
39
+ color: var(--labels-main-label-primary, #121e52);
40
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
41
+ border: 2px solid var(--borders-main-border-primary, #e8e9ef);
42
+ border-radius: var(--radius-md, 4px);
43
+ padding: 8px 10px;
44
+ height: 40px;
45
+ width: 100%;
46
+ transition: all 0.2s ease;
47
+
48
+ &:focus {
49
+ outline: none;
50
+ border-color: var(--borders-main-border-selected, #121e52);
51
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
52
+ }
53
+
54
+ &::placeholder {
55
+ color: var(--labels-main-label-secondary, #626a90);
56
+ }
57
+ }
58
+
59
+ &__textarea {
60
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
61
+ font-size: var(--text-sm-size, 13px);
62
+ line-height: var(--text-sm-line, 16px);
63
+ color: var(--labels-main-label-primary, #121e52);
64
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
65
+ border: 1px solid var(--borders-main-border-primary, #e8e9ef);
66
+ border-radius: var(--radius-md, 4px);
67
+ padding: 8px 10px;
68
+ min-height: 120px;
69
+ width: 100%;
70
+ resize: vertical;
71
+ transition: all 0.2s ease;
72
+
73
+ &:focus {
74
+ outline: none;
75
+ border-color: var(--borders-main-border-selected, #121e52);
76
+ }
77
+
78
+ &::placeholder {
79
+ color: var(--labels-main-label-secondary, #626a90);
80
+ }
81
+ }
82
+
83
+ &__input-with-icon {
84
+ display: flex;
85
+ align-items: center;
86
+ gap: var(--spacing-sm, 8px);
87
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
88
+ border: 2px solid var(--borders-main-border-primary, #e8e9ef);
89
+ border-radius: var(--radius-md, 4px);
90
+ padding: 5px;
91
+ height: 40px;
92
+
93
+ input {
94
+ flex: 1;
95
+ border: none;
96
+ background: transparent;
97
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
98
+ font-size: var(--text-sm-size, 13px);
99
+ line-height: var(--text-sm-line, 16px);
100
+ color: var(--labels-main-label-primary, #121e52);
101
+
102
+ &:focus {
103
+ outline: none;
104
+ }
105
+
106
+ &::placeholder {
107
+ color: var(--labels-main-label-secondary, #626a90);
108
+ }
109
+ }
110
+
111
+ .icon {
112
+ width: 22px;
113
+ height: 22px;
114
+ flex-shrink: 0;
115
+ }
116
+ }
117
+
118
+ &__verification-code {
119
+ display: flex;
120
+ gap: var(--spacing-sm, 8px);
121
+ height: 62px;
122
+
123
+ .code-input {
124
+ flex: 1;
125
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
126
+ border: 2px solid var(--borders-main-border-primary, #e8e9ef);
127
+ border-radius: var(--radius-md, 4px);
128
+ text-align: center;
129
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
130
+ font-size: var(--text-lg-size, 18px);
131
+ font-weight: var(--heading-h3-weight, 600);
132
+ color: var(--labels-main-label-primary, #121e52);
133
+ transition: all 0.2s ease;
134
+
135
+ &:focus {
136
+ outline: none;
137
+ border-color: var(--borders-main-border-selected, #121e52);
138
+ }
139
+ }
140
+ }
141
+
142
+ &__helper-text {
143
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
144
+ font-size: var(--text-sm-size, 13px);
145
+ font-weight: 400;
146
+ line-height: var(--text-sm-line, 16px);
147
+ color: var(--labels-main-label-secondary, #626a90);
148
+ margin: 0;
149
+ }
150
+
151
+ // States
152
+ &--active {
153
+ .new-form-input__input {
154
+ border-color: var(--borders-main-border-selected, #121e52);
155
+ }
156
+ }
157
+
158
+ &--error {
159
+ .new-form-input__input {
160
+ border-color: var(--borders-status-border-error, #ef4444);
161
+ }
162
+
163
+ .new-form-input__helper-text {
164
+ color: var(--labels-status-label-error, #ef4444);
165
+ }
166
+ }
167
+
168
+ &--disabled {
169
+ opacity: var(--opacity-50, 0.5);
170
+ pointer-events: none;
171
+ }
172
+ }
@@ -0,0 +1,4 @@
1
+ @import './tokens/colors';
2
+ @import './tokens/sizes';
3
+ @import './tokens/status';
4
+ @import './tokens/typography';
@@ -0,0 +1,17 @@
1
+ .navigation {
2
+ width: 100%;
3
+ height: 100%;
4
+ padding: 8px;
5
+ background: var(--surfaces-main-background-secondary, #F8F8FA);
6
+ border-right: 1px solid var(--borders-main-border-primary, #E8E9EF);
7
+ display: inline-flex;
8
+ flex-direction: column;
9
+ justify-content: flex-start;
10
+ align-items: flex-start;
11
+ overflow-y: auto;
12
+ transition: all 0.3s ease;
13
+
14
+ &--collapsed {
15
+ width: 76px;
16
+ }
17
+ }
@@ -0,0 +1,86 @@
1
+ @import '../../../overrides/functions';
2
+
3
+ .navigation-item {
4
+ width: 100%;
5
+ flex: 1 1 0;
6
+ padding: 8px;
7
+ border-radius: 8px;
8
+ display: flex;
9
+ justify-content: flex-start;
10
+ align-items: center;
11
+ gap: 8px;
12
+ border: none;
13
+ background: transparent;
14
+ cursor: pointer;
15
+ transition: all 0.2s ease;
16
+ text-decoration: none;
17
+ outline: none;
18
+
19
+ &:hover {
20
+ background: linear-gradient(225deg, var(--gradients-stop1, #6200EE) 0%, var(--gradients-stop2, #5D5BF4) 50%, var(--gradients-stop3, #0E8CE2) 100%);
21
+
22
+ .navigation-item__icon svg,
23
+ .navigation-item__icon path {
24
+ fill: var(--fills-main-fill-white, white);
25
+ color: var(--fills-main-fill-white, white);
26
+ }
27
+
28
+ .navigation-item__label {
29
+ color: var(--labels-main-label-white, white);
30
+ }
31
+ }
32
+
33
+ &:focus-visible {
34
+ outline: 2px solid var(--fills-main-fill-primary, #14215A);
35
+ outline-offset: 2px;
36
+ }
37
+
38
+ &--active {
39
+ background: linear-gradient(225deg, var(--gradients-stop1, #6200EE) 0%, var(--gradients-stop2, #5D5BF4) 50%, var(--gradients-stop3, #0E8CE2) 100%);
40
+
41
+ .navigation-item__icon svg,
42
+ .navigation-item__icon path {
43
+ fill: var(--fills-main-fill-white, white);
44
+ color: var(--fills-main-fill-white, white);
45
+ }
46
+
47
+ .navigation-item__label {
48
+ color: var(--labels-main-label-white, white);
49
+ font-weight: 600;
50
+ }
51
+ }
52
+
53
+ &--collapsed {
54
+ justify-content: center;
55
+ gap: 0;
56
+ }
57
+
58
+ &__icon {
59
+ width: 24px;
60
+ height: 24px;
61
+ position: relative;
62
+ overflow: hidden;
63
+ border-radius: 6px;
64
+ display: flex;
65
+ align-items: center;
66
+ justify-content: center;
67
+ flex-shrink: 0;
68
+
69
+ svg,
70
+ img {
71
+ width: 18px;
72
+ height: 18px;
73
+ color: var(--fills-main-fill-primary, #14215A);
74
+ }
75
+ }
76
+
77
+ &__label {
78
+ color: var(--labels-main-label-primary, #121E52);
79
+ font-size: 13px;
80
+ font-family: Geist, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
81
+ font-weight: 500;
82
+ line-height: 16px;
83
+ word-wrap: break-word;
84
+ white-space: nowrap;
85
+ }
86
+ }
@@ -0,0 +1,26 @@
1
+ .navigation-section {
2
+ align-self: stretch;
3
+ padding: 8px 8px 0;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ align-items: flex-start;
8
+ gap: 8px;
9
+
10
+ &--collapsed {
11
+ padding-top: 8px;
12
+ padding-left: 8px;
13
+ padding-right: 8px;
14
+ align-items: flex-start; // Keep left-aligned like expanded
15
+ }
16
+
17
+ &__title {
18
+ color: var(--labels-main-label-secondary, #626A90);
19
+ font-size: 13px;
20
+ font-family: Geist, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
21
+ font-weight: 500;
22
+ line-height: 16px;
23
+ word-wrap: break-word;
24
+ text-transform: none !important; // Override any global uppercase rules
25
+ }
26
+ }
@@ -0,0 +1,9 @@
1
+ @import './NavigationItem.scss';
2
+ @import './NavigationSection.scss';
3
+ @import './Navigation.scss';
4
+ @import './FigmasSideBar.scss';
5
+ @import './FigmasAdminSideBar.scss';
6
+ @import './FigmasTopHat.scss';
7
+ @import './TopHatControlDisc.scss';
8
+ @import './SideBarToggleLarge.scss';
9
+ @import './SidebarUserElement.scss';