@licklist/design 0.78.28 → 0.78.29

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 (125) hide show
  1. package/dist/assets/Trend-Down.svg.js +16 -0
  2. package/dist/assets/Trend-Up.svg.js +16 -0
  3. package/dist/index.d.ts +2 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +10 -0
  6. package/dist/v2/components/Button/Button.d.ts +8 -4
  7. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  8. package/dist/v2/components/Button/index.d.ts +2 -2
  9. package/dist/v2/components/Button/index.d.ts.map +1 -1
  10. package/dist/v2/components/Checkbox/Checkbox.d.ts +9 -0
  11. package/dist/v2/components/Checkbox/Checkbox.d.ts.map +1 -0
  12. package/dist/v2/components/Checkbox/index.d.ts +3 -0
  13. package/dist/v2/components/Checkbox/index.d.ts.map +1 -0
  14. package/dist/v2/components/FormField/FormField.d.ts +10 -0
  15. package/dist/v2/components/FormField/FormField.d.ts.map +1 -0
  16. package/dist/v2/components/FormField/index.d.ts +3 -0
  17. package/dist/v2/components/FormField/index.d.ts.map +1 -0
  18. package/dist/v2/components/NewInput/NewInput.d.ts +20 -0
  19. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -0
  20. package/dist/v2/components/NewInput/index.d.ts +2 -0
  21. package/dist/v2/components/NewInput/index.d.ts.map +1 -0
  22. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +10 -0
  23. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -0
  24. package/dist/v2/components/NewPageHeader/index.d.ts +2 -0
  25. package/dist/v2/components/NewPageHeader/index.d.ts.map +1 -0
  26. package/dist/v2/components/SectionHeader/SectionHeader.d.ts +8 -0
  27. package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -0
  28. package/dist/v2/components/SectionHeader/index.d.ts +3 -0
  29. package/dist/v2/components/SectionHeader/index.d.ts.map +1 -0
  30. package/dist/v2/components/Select/Select.js +128 -0
  31. package/dist/v2/components/Select/Select.scss.js +6 -0
  32. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts +16 -0
  33. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts.map +1 -0
  34. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts +14 -0
  35. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts.map +1 -0
  36. package/dist/v2/components/WYSIWYGEditor/index.d.ts +3 -0
  37. package/dist/v2/components/WYSIWYGEditor/index.d.ts.map +1 -0
  38. package/dist/v2/components/index.d.ts +22 -0
  39. package/dist/v2/components/index.d.ts.map +1 -0
  40. package/dist/v2/dashboard-analytics/blog-posts/Blog.js +103 -0
  41. package/dist/v2/dashboard-analytics/blog-posts/Blog.scss.js +6 -0
  42. package/dist/v2/dashboard-analytics/chart/Chart.js +733 -0
  43. package/dist/v2/dashboard-analytics/chart/Chart.scss.js +6 -0
  44. package/dist/v2/dashboard-analytics/dashboard/Dashboard.js +270 -0
  45. package/dist/v2/dashboard-analytics/dashboard/Dashboard.scss.js +6 -0
  46. package/dist/v2/dashboard-analytics/metric-card/MetricCard.js +65 -0
  47. package/dist/v2/dashboard-analytics/metric-card/MetricCard.scss.js +6 -0
  48. package/dist/v2/dashboard-analytics/venue-card/VenueCard.js +50 -0
  49. package/dist/v2/dashboard-analytics/venue-card/VenueCard.scss.js +6 -0
  50. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.js +48 -0
  51. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss.js +6 -0
  52. package/dist/v2/icons/index.js +61 -1
  53. package/dist/v2/index.d.ts +3 -1
  54. package/dist/v2/index.d.ts.map +1 -1
  55. package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +1 -1
  56. package/dist/v2/pages/Settings/SettingsPage.d.ts +13 -0
  57. package/dist/v2/pages/Settings/SettingsPage.d.ts.map +1 -0
  58. package/dist/v2/pages/Settings/SettingsPage.js +88 -0
  59. package/dist/v2/pages/Settings/SettingsPage.scss.js +6 -0
  60. package/dist/v2/pages/Settings/SettingsTabs.d.ts +14 -0
  61. package/dist/v2/pages/Settings/SettingsTabs.d.ts.map +1 -0
  62. package/dist/v2/pages/Settings/SettingsTabs.js +29 -0
  63. package/dist/v2/pages/Settings/SettingsTabs.scss.js +6 -0
  64. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +283 -0
  65. package/dist/v2/pages/Settings/components/SidebarCustomisation.scss.js +6 -0
  66. package/dist/v2/pages/Settings/components/SidebarNavItem.d.ts +19 -0
  67. package/dist/v2/pages/Settings/components/SidebarNavItem.d.ts.map +1 -0
  68. package/dist/v2/pages/Settings/components/SidebarNavItem.js +41 -0
  69. package/dist/v2/pages/Settings/components/SidebarNavItem.scss.js +6 -0
  70. package/dist/v2/pages/Settings/components/index.d.ts +5 -0
  71. package/dist/v2/pages/Settings/components/index.d.ts.map +1 -0
  72. package/dist/v2/pages/Settings/index.d.ts +7 -0
  73. package/dist/v2/pages/Settings/index.d.ts.map +1 -0
  74. package/package.json +3 -3
  75. package/src/index.ts +3 -1
  76. package/src/v2/components/Alert/Alert.scss +3 -3
  77. package/src/v2/components/Button/Button.tsx +34 -12
  78. package/src/v2/components/Button/index.ts +2 -2
  79. package/src/v2/components/Checkbox/Checkbox.scss +211 -0
  80. package/src/v2/components/Checkbox/Checkbox.stories.tsx +316 -0
  81. package/src/v2/components/Checkbox/Checkbox.tsx +106 -0
  82. package/src/v2/components/Checkbox/index.ts +3 -0
  83. package/src/v2/components/FormField/FormField.scss +87 -0
  84. package/src/v2/components/FormField/FormField.stories.tsx +71 -0
  85. package/src/v2/components/FormField/FormField.tsx +37 -0
  86. package/src/v2/components/FormField/index.ts +3 -0
  87. package/src/v2/components/NewInput/NewInput.stories.tsx +433 -0
  88. package/src/v2/components/NewInput/NewInput.tsx +96 -0
  89. package/src/v2/components/NewInput/index.ts +1 -0
  90. package/src/v2/components/NewPageHeader/NewPageHeader.scss +47 -0
  91. package/src/v2/components/NewPageHeader/NewPageHeader.stories.tsx +44 -0
  92. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +35 -0
  93. package/src/v2/components/NewPageHeader/index.ts +1 -0
  94. package/src/v2/components/SectionHeader/SectionHeader.scss +11 -0
  95. package/src/v2/components/SectionHeader/SectionHeader.tsx +15 -0
  96. package/src/v2/components/SectionHeader/index.ts +2 -0
  97. package/src/v2/components/Select/Select.scss +5 -5
  98. package/src/v2/components/WYSIWYGEditor/Icons.tsx +93 -0
  99. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss +310 -0
  100. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.stories.tsx +252 -0
  101. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.tsx +393 -0
  102. package/src/v2/components/WYSIWYGEditor/index.ts +3 -0
  103. package/src/v2/components/index.ts +37 -0
  104. package/src/v2/index.ts +10 -2
  105. package/src/v2/navigation/DashboardLayout/TopNavigation.scss +1 -0
  106. package/src/v2/pages/Settings/SettingsContentPlaceholder.scss +24 -0
  107. package/src/v2/pages/Settings/SettingsPage.scss +52 -0
  108. package/src/v2/pages/Settings/SettingsPage.tsx +46 -0
  109. package/src/v2/pages/Settings/SettingsTabs.scss +44 -0
  110. package/src/v2/pages/Settings/SettingsTabs.tsx +36 -0
  111. package/src/v2/pages/Settings/components/SidebarCustomisation.stories.tsx +48 -0
  112. package/src/v2/pages/Settings/components/SidebarNavItem.scss +76 -0
  113. package/src/v2/pages/Settings/components/SidebarNavItem.stories.tsx +50 -0
  114. package/src/v2/pages/Settings/components/SidebarNavItem.tsx +52 -0
  115. package/src/v2/pages/Settings/components/index.ts +5 -0
  116. package/src/v2/pages/Settings/index.ts +8 -0
  117. package/src/v2/styles/components/Button.scss +51 -53
  118. package/src/v2/styles/form/Layout.scss +15 -0
  119. package/src/v2/styles/form/NewInput.scss +83 -53
  120. package/src/v2/styles/index.scss +1 -0
  121. package/src/v2/styles/tokens/_colors.scss +6 -6
  122. package/src/v2/styles/tokens/_typography.scss +2 -2
  123. package/dist/v2/navigation/icons/index.d.ts +0 -12
  124. package/dist/v2/navigation/icons/index.d.ts.map +0 -1
  125. package/src/v2/navigation/icons/index.tsx +0 -72
@@ -0,0 +1,48 @@
1
+ import React, { useState } from 'react'
2
+ import type { Meta, StoryObj } from '@storybook/react'
3
+ import { SidebarCustomisation, defaultSidebarItems, SidebarItem } from './SidebarCustomisation'
4
+
5
+ const meta: Meta<typeof SidebarCustomisation> = {
6
+ title: 'V2/Pages/Settings/SidebarCustomisation',
7
+ component: SidebarCustomisation,
8
+ parameters: {
9
+ layout: 'padded',
10
+ },
11
+ }
12
+
13
+ export default meta
14
+ type Story = StoryObj<typeof SidebarCustomisation>
15
+
16
+ const InteractiveSidebarCustomisation = () => {
17
+ const [items, setItems] = useState<SidebarItem[]>(defaultSidebarItems)
18
+
19
+ const handleSave = (updatedItems: SidebarItem[]) => {
20
+ console.log('Saved items:', updatedItems)
21
+ alert('Settings saved!')
22
+ }
23
+
24
+ const handleReset = () => {
25
+ setItems(defaultSidebarItems)
26
+ console.log('Reset to defaults')
27
+ }
28
+
29
+ const handleCancel = () => {
30
+ console.log('Cancelled')
31
+ }
32
+
33
+ return (
34
+ <div style={{ maxWidth: '900px' }}>
35
+ <SidebarCustomisation
36
+ items={items}
37
+ onItemsChange={setItems}
38
+ onSave={handleSave}
39
+ onReset={handleReset}
40
+ onCancel={handleCancel}
41
+ />
42
+ </div>
43
+ )
44
+ }
45
+
46
+ export const Default: Story = {
47
+ render: () => <InteractiveSidebarCustomisation />,
48
+ }
@@ -0,0 +1,76 @@
1
+ @import '../../../styles/tokens/typography';
2
+ @import '../../../styles/tokens/colors';
3
+
4
+ .sidebar-nav-item {
5
+ display: flex;
6
+ flex-direction: column;
7
+ gap: 8px;
8
+ font-family: var(--font-family-sans);
9
+
10
+ &__header {
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ }
15
+
16
+ &__info {
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 8px;
20
+
21
+ &--disabled {
22
+ .sidebar-nav-item__icon {
23
+ color: var(--fill-disabled);
24
+ }
25
+
26
+ .sidebar-nav-item__name {
27
+ color: var(--label-status-disabled);
28
+ }
29
+ }
30
+ }
31
+
32
+ &__icon {
33
+ width: 24px;
34
+ height: 24px;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ color: var(--fill-primary);
39
+
40
+ svg {
41
+ width: 24px;
42
+ height: 24px;
43
+ }
44
+ }
45
+
46
+ &__name {
47
+ @include typography('text.small.emphasis');
48
+ }
49
+
50
+ &__input {
51
+ @include typography('text.small');
52
+ height: 40px;
53
+ width: 100%;
54
+ padding: 8px 12px;
55
+ border: 1px solid var(--border-primary);
56
+ border-radius: 6px;
57
+ background-color: var(--surface-secondary);
58
+ color: var(--label-primary);
59
+ outline: none;
60
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
61
+
62
+ &::placeholder {
63
+ color: var(--label-secondary);
64
+ }
65
+
66
+ &:focus {
67
+ outline: none;
68
+ box-shadow: 0 0 0 2px var(--surface-primary), 0 0 0 4px var(--actions-regular);
69
+ }
70
+
71
+ &--disabled {
72
+ opacity: 0.5;
73
+ cursor: not-allowed;
74
+ }
75
+ }
76
+ }
@@ -0,0 +1,50 @@
1
+ import React, { useState } from 'react'
2
+ import type { Meta, StoryObj } from '@storybook/react'
3
+ import { SidebarNavItem } from './SidebarNavItem'
4
+
5
+ const HomeIcon = () => (
6
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none">
7
+ <path d="M17.7273 20.1182H6.27273C5.82086 20.1182 5.45455 19.7423 5.45455 19.2785V11.7207H3L11.4496 3.83661C11.7617 3.54543 12.2383 3.54543 12.5504 3.83661L21 11.7207H18.5455V19.2785C18.5455 19.7423 18.1792 20.1182 17.7273 20.1182ZM7.09091 18.4387H16.9091V10.1734L12 5.59288L7.09091 10.1734V18.4387Z" fill="currentColor" />
8
+ </svg>
9
+ )
10
+
11
+ const meta: Meta<typeof SidebarNavItem> = {
12
+ title: 'V2/Pages/Settings/SidebarNavItem',
13
+ component: SidebarNavItem,
14
+ parameters: {
15
+ layout: 'padded',
16
+ },
17
+ argTypes: {
18
+ label: {
19
+ control: 'text',
20
+ description: 'Display label for the item',
21
+ },
22
+ disabled: {
23
+ control: 'boolean',
24
+ description: 'Whether the input is disabled',
25
+ },
26
+ },
27
+ }
28
+
29
+ export default meta
30
+ type Story = StoryObj<typeof SidebarNavItem>
31
+
32
+ const InteractiveSidebarNavItem = () => {
33
+ const [label, setLabel] = useState('Home')
34
+
35
+ return (
36
+ <div style={{ maxWidth: '300px' }}>
37
+ <SidebarNavItem
38
+ id="home"
39
+ label={label}
40
+ defaultLabel="Home"
41
+ icon={<HomeIcon />}
42
+ onLabelChange={(id, newLabel) => setLabel(newLabel)}
43
+ />
44
+ </div>
45
+ )
46
+ }
47
+
48
+ export const Default: Story = {
49
+ render: () => <InteractiveSidebarNavItem />,
50
+ }
@@ -0,0 +1,52 @@
1
+ import React from 'react'
2
+ import './SidebarNavItem.scss'
3
+
4
+ export interface SidebarNavItemProps {
5
+ /** Unique identifier for the item */
6
+ id: string
7
+ /** Display label for the item (editable value) */
8
+ label: string
9
+ /** Default/original label name shown in header */
10
+ defaultLabel: string
11
+ /** Icon to display */
12
+ icon: React.ReactNode
13
+ /** Whether the input is disabled */
14
+ disabled?: boolean
15
+ /** Callback when the label changes */
16
+ onLabelChange?: (id: string, label: string) => void
17
+ }
18
+
19
+ export const SidebarNavItem: React.FC<SidebarNavItemProps> = ({
20
+ id,
21
+ label,
22
+ defaultLabel,
23
+ icon,
24
+ disabled = false,
25
+ onLabelChange,
26
+ }) => {
27
+ return (
28
+ <div className="sidebar-nav-item">
29
+ <div className="sidebar-nav-item__header">
30
+ <div className={`sidebar-nav-item__info ${disabled ? 'sidebar-nav-item__info--disabled' : ''}`}>
31
+ <div className="sidebar-nav-item__icon">
32
+ {icon}
33
+ </div>
34
+ <span className="sidebar-nav-item__name">
35
+ {defaultLabel}
36
+ </span>
37
+ </div>
38
+ </div>
39
+ <input
40
+ type="text"
41
+ id={id}
42
+ className={`sidebar-nav-item__input ${disabled ? 'sidebar-nav-item__input--disabled' : ''}`}
43
+ value={label}
44
+ onChange={(e) => onLabelChange?.(id, e.target.value)}
45
+ disabled={disabled}
46
+ placeholder={label}
47
+ />
48
+ </div>
49
+ )
50
+ }
51
+
52
+ export default SidebarNavItem
@@ -0,0 +1,5 @@
1
+ export { SidebarCustomisation, defaultSidebarItems } from './SidebarCustomisation'
2
+ export type { SidebarCustomisationProps, SidebarItem } from './SidebarCustomisation'
3
+
4
+ export { SidebarNavItem } from './SidebarNavItem'
5
+ export type { SidebarNavItemProps } from './SidebarNavItem'
@@ -0,0 +1,8 @@
1
+ export { SettingsPage } from './SettingsPage'
2
+ export type { SettingsPageProps } from './SettingsPage'
3
+
4
+ export { SettingsTabs } from './SettingsTabs'
5
+ export type { SettingsTabsProps, SettingsTab } from './SettingsTabs'
6
+
7
+ export { SidebarCustomisation, defaultSidebarItems, SidebarNavItem } from './components'
8
+ export type { SidebarCustomisationProps, SidebarItem, SidebarNavItemProps } from './components'
@@ -2,59 +2,48 @@
2
2
 
3
3
  .new-button {
4
4
  display: flex;
5
- gap: var(--spacing-sm, 8px);
6
- align-items: center;
5
+ gap: var(--spacing-sm);
7
6
  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);
7
+ padding: 12px 24px;
8
+ align-self: flex-start;
9
+ text-align: center;
10
+ align-items: center;
11
+ font-family: var(--font-family-sans, 'Geist', sans-serif), serif;
12
+ font-weight: 600;
13
+ line-height: 20px;
14
+ min-height: 44px;
14
15
  border: none;
16
+ border-radius: 8px;
15
17
  cursor: pointer;
16
18
  transition: all 0.2s ease;
17
19
  white-space: nowrap;
18
20
 
19
- // Primary Button - Solid with gradient
21
+ // Primary Button - Solid purple
20
22
  &--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);
23
+ background: #6200EE;
24
+ color: #ffffff;
35
25
 
36
26
  &:hover {
37
- background-color: var(--fills-main-fill-action, #6200ee);
27
+ background: #360083;
38
28
  }
39
29
 
40
30
  &:active,
41
31
  &:focus {
42
- background-color: var(--fills-main-fill-action, #6200ee);
32
+ background: #360083;
43
33
  }
44
34
  }
45
35
 
46
- // Primary - Soft
36
+ // Primary - Soft (Light purple)
47
37
  &--primary-soft {
48
- background-color: var(--surfaces-main-background-action-soft, #efe6fd);
49
- color: var(--labels-main-label-action, #6200ee);
38
+ background: #efeffe;
39
+ color: #5d5bf4;
50
40
 
51
41
  &:hover {
52
- background-color: var(--surfaces-main-background-action-soft-hover, #ceb0fa);
42
+ background: #cdccfc;
53
43
  }
54
44
 
55
45
  &:active {
56
- background-color: var(--surfaces-main-background-action-soft-pressed, #965ff4);
57
- color: var(--labels-main-label-white, #ffffff);
46
+ background: #b4b4fa;
58
47
  }
59
48
  }
60
49
 
@@ -76,39 +65,32 @@
76
65
 
77
66
  // Secondary Button
78
67
  &--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);
68
+ border-radius: var(--sizes-radius-radius, 8px);
69
+ background: var(--surface-action-soft);
70
+ color: var(--label-action);
93
71
 
94
- &:hover,
95
- &:active {
96
- // Same gradient for hover/pressed states
72
+ &:hover {
73
+ background: #EFE6FD;
74
+ }
75
+
76
+ &:active,
77
+ &:focus {
78
+ background: #EFE6FD;
97
79
  }
98
80
  }
99
81
 
100
82
  // Destructive - Soft
101
83
  &--destructive-soft {
102
- background-color: var(--surfaces-main-background-danger-soft, #fceceb);
103
- color: var(--labels-main-label-danger, #cc3c35);
84
+ border-radius: var(--radius-reg, 8px);
85
+ background: var(--surface-danger-soft, #fceceb);
104
86
 
105
87
  &:hover {
106
- background-color: var(--surfaces-main-background-danger-soft-hover, #f5c4c2);
88
+ background-color: var(--surface-danger-soft-hover, #f5c4c2);
107
89
  }
108
90
 
109
91
  &:active {
110
- background-color: var(--surfaces-main-background-danger-soft-pressed, #e66861);
111
- color: var(--labels-main-label-white, #ffffff);
92
+ background-color: var(--surface-danger-soft-pressed, #e66861);
93
+ color: var(--label-white, #ffffff);
112
94
  }
113
95
  }
114
96
 
@@ -155,6 +137,22 @@
155
137
  pointer-events: none;
156
138
  }
157
139
 
140
+ /* Button text styling */
141
+ &__text {
142
+ font-family: 'Geist', sans-serif;
143
+ font-size: 15px;
144
+ font-style: normal;
145
+ font-weight: 600;
146
+ line-height: 20px;
147
+ text-align: center;
148
+
149
+ &--primary { color: var(--label-primary); }
150
+ &--secondary { color: var(--label-secondary); }
151
+ &--danger { color: var(--label-danger); }
152
+ &--white { color: var(--label-white); }
153
+ &--action { color: var(--label-action); }
154
+ }
155
+
158
156
  // Text styling
159
157
  p {
160
158
  margin: 0;
@@ -0,0 +1,15 @@
1
+ .waiver-template-form-section {
2
+ display: flex;
3
+ flex-direction: column;
4
+ align-items: flex-start;
5
+ gap: var(--padding-reg, 16px);
6
+ align-self: stretch;
7
+ }
8
+
9
+ .waiver-template-form-group {
10
+ display: flex;
11
+ flex-direction: column;
12
+ align-items: flex-start;
13
+ gap: var(--padding-lg, 24px);
14
+ align-self: stretch;
15
+ }
@@ -1,24 +1,28 @@
1
1
  /* New Form Input Styles based on Figma design tokens */
2
+ @import '../../styles/tokens/typography';
2
3
 
3
4
  .new-form-input {
4
- display: flex;
5
- flex-direction: column;
6
- gap: var(--spacing-xs, 4px);
7
- width: 100%;
5
+ display: flex;
6
+ flex-direction: column;
7
+ align-items: flex-start;
8
+ gap: var(--spacing-sm);
9
+ align-self: stretch;
10
+ width: 100%;
8
11
 
9
12
  &__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;
13
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
14
+ font-size: 15px;
15
+ font-style: normal;
16
+ font-weight: 600;
17
+ line-height: 20px;
18
+ color: var(--label-primary, #121E52);
19
+
16
20
  }
17
21
 
18
22
  &__label-optional {
19
- font-family: var(--font-family-sans, 'Geist', sans-serif);
23
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
20
24
  font-size: var(--text-xs-size, 11px);
21
- font-weight: var(--heading-h6-weight, 500);
25
+ font-weight: 400;
22
26
  line-height: var(--text-xs-line, 14px);
23
27
  color: var(--labels-main-label-secondary, #626a90);
24
28
  text-align: right;
@@ -32,34 +36,37 @@
32
36
  width: 100%;
33
37
  }
34
38
 
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;
39
+ &__input {
40
+ @include typography('text.regular');
41
+ flex: 1 0 0;
42
+ background-color: var(--surfaces-main-background-secondary);
43
+ border: 2px solid var(--border-primary);
44
+ border-radius: var(--radius-md);
45
+ padding: 8px 10px;
46
+ min-height: 40px;
47
+ background: var(--surface-secondary);
48
+ width: 100%;
49
+ transition: all 0.2s ease;
47
50
 
48
- &:focus {
49
- outline: none;
50
- border-color: var(--borders-main-border-selected, #121e52);
51
- background-color: var(--surfaces-main-background-secondary, #f8f8fa);
52
- }
51
+ @media (max-width: 768px) {
52
+ font-size: 16px;
53
+ }
53
54
 
54
- &::placeholder {
55
- color: var(--labels-main-label-secondary, #626a90);
56
- }
55
+ &:focus {
56
+ outline: none;
57
+ border-color: var(--border-selected, #6200EE);
58
+ background-color: var(--surfaces-main-background-secondary, #f8f8fa);
59
+ }
60
+
61
+ &::placeholder {
62
+ color: var(--labels-main-label-secondary, #626a90);
57
63
  }
64
+ }
58
65
 
59
66
  &__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);
67
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
68
+ font-size: var(--text-regular-size, 15px);
69
+ line-height: var(--text-regular-line, 20px);
63
70
  color: var(--labels-main-label-primary, #121e52);
64
71
  background-color: var(--surfaces-main-background-secondary, #f8f8fa);
65
72
  border: 1px solid var(--borders-main-border-primary, #e8e9ef);
@@ -70,9 +77,13 @@
70
77
  resize: vertical;
71
78
  transition: all 0.2s ease;
72
79
 
80
+ @media (max-width: 768px) {
81
+ font-size: 16px;
82
+ }
83
+
73
84
  &:focus {
74
85
  outline: none;
75
- border-color: var(--borders-main-border-selected, #121e52);
86
+ border-color: var(--border-selected, #6200EE);
76
87
  }
77
88
 
78
89
  &::placeholder {
@@ -88,16 +99,20 @@
88
99
  border: 2px solid var(--borders-main-border-primary, #e8e9ef);
89
100
  border-radius: var(--radius-md, 4px);
90
101
  padding: 5px;
91
- height: 40px;
102
+ min-height: 40px;
92
103
 
93
104
  input {
94
105
  flex: 1;
95
106
  border: none;
96
107
  background: transparent;
97
108
  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);
109
+ font-size: var(--text-regular-size, 15px);
110
+ line-height: var(--text-regular-line, 20px);
111
+ color: var(--label-primary);
112
+
113
+ @media (max-width: 768px) {
114
+ font-size: 16px;
115
+ }
101
116
 
102
117
  &:focus {
103
118
  outline: none;
@@ -134,24 +149,43 @@
134
149
 
135
150
  &:focus {
136
151
  outline: none;
137
- border-color: var(--borders-main-border-selected, #121e52);
152
+ border-color: var(--border-selected, #6200EE);
138
153
  }
139
154
  }
140
155
  }
141
156
 
142
157
  &__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;
158
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
159
+ font-size: var(--text-regular-size, 15px);
160
+ font-style: normal;
161
+ font-weight: 400;
162
+ line-height: var(--text-regular-line, 20px);
163
+ margin-top: 2px;
164
+ color: var(--label-secondary, #626A90);
165
+ min-width: max-content;
166
+ white-space: nowrap;
167
+
168
+ @media (max-width: 768px) {
169
+ min-width: unset;
170
+ white-space: normal;
171
+ word-wrap: break-word;
172
+ }
173
+ }
174
+
175
+ &__error-text {
176
+ font-family: var(--font-family-sans, 'Geist', sans-serif);
177
+ font-size: 11px;
178
+ font-style: normal;
179
+ font-weight: 400;
180
+ line-height: 14px;
181
+ margin-top: 2px;
182
+ color: var(--labels-status-label-error, #ef4444);
149
183
  }
150
184
 
151
185
  // States
152
186
  &--active {
153
187
  .new-form-input__input {
154
- border-color: var(--borders-main-border-selected, #121e52);
188
+ border-color: var(--border-selected, #6200EE);
155
189
  }
156
190
  }
157
191
 
@@ -159,14 +193,10 @@
159
193
  .new-form-input__input {
160
194
  border-color: var(--borders-status-border-error, #ef4444);
161
195
  }
162
-
163
- .new-form-input__helper-text {
164
- color: var(--labels-status-label-error, #ef4444);
165
- }
166
196
  }
167
197
 
168
198
  &--disabled {
169
199
  opacity: var(--opacity-50, 0.5);
170
200
  pointer-events: none;
171
201
  }
172
- }
202
+ }
@@ -2,3 +2,4 @@
2
2
  @import './tokens/sizes';
3
3
  @import './tokens/status';
4
4
  @import './tokens/typography';
5
+ @import './form/Layout';
@@ -5,7 +5,7 @@
5
5
 
6
6
  :root {
7
7
  /* Base Colors - BKIT */
8
-
8
+
9
9
  /* Blues */
10
10
  --blue-50: #E7F4FC;
11
11
  --blue-100: #B4DBF6;
@@ -144,7 +144,7 @@
144
144
  --neutral-black: #000000;
145
145
 
146
146
  /* Main Color Abstractions */
147
-
147
+
148
148
  /* Purple Scale */
149
149
  --purple-lightest: var(--purple-50);
150
150
  --purple-lighter: var(--purple-100);
@@ -253,7 +253,7 @@
253
253
  --shade-darkest: var(--neutral-black);
254
254
 
255
255
  /* Semantic Colors */
256
-
256
+
257
257
  /* Highlight Colors */
258
258
  --highlight-lightest: var(--cyan-lightest);
259
259
  --highlight-lighter: var(--cyan-lighter);
@@ -326,7 +326,7 @@
326
326
  --disabled-darkest: var(--shade-regular);
327
327
 
328
328
  /* Light Theme Palette Mappings */
329
-
329
+
330
330
  /* Labels */
331
331
  --label-primary: var(--shade-light);
332
332
  --label-secondary: var(--tone-darkest);
@@ -387,7 +387,7 @@
387
387
  /* Borders */
388
388
  --border-primary: var(--tone-light);
389
389
  --border-secondary: var(--tone-regular);
390
- --border-selected: var(--shade-light);
390
+ --border-selected: var(--neutral-600);
391
391
  --border-action: var(--actions-regular);
392
392
  --border-status-error: var(--errors-lighter);
393
393
  --border-status-success: var(--success-lighter);
@@ -551,4 +551,4 @@
551
551
 
552
552
  @mixin color-border($color) {
553
553
  border-color: var(--#{$color});
554
- }
554
+ }