@licklist/design 0.78.28 → 0.78.30

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 (144) 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 +3 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +24 -0
  6. package/dist/v2/components/Alert/Alert.js +87 -0
  7. package/dist/v2/components/Alert/Alert.scss.js +6 -0
  8. package/dist/v2/components/Button/Button.d.ts +8 -4
  9. package/dist/v2/components/Button/Button.d.ts.map +1 -1
  10. package/dist/v2/components/Button/Button.js +121 -0
  11. package/dist/v2/components/Button/Button.scss.js +6 -0
  12. package/dist/v2/components/Button/index.d.ts +2 -2
  13. package/dist/v2/components/Button/index.d.ts.map +1 -1
  14. package/dist/v2/components/Checkbox/Checkbox.d.ts +9 -0
  15. package/dist/v2/components/Checkbox/Checkbox.d.ts.map +1 -0
  16. package/dist/v2/components/Checkbox/Checkbox.js +231 -0
  17. package/dist/v2/components/Checkbox/Checkbox.scss.js +6 -0
  18. package/dist/v2/components/Checkbox/index.d.ts +3 -0
  19. package/dist/v2/components/Checkbox/index.d.ts.map +1 -0
  20. package/dist/v2/components/FormField/FormField.d.ts +10 -0
  21. package/dist/v2/components/FormField/FormField.d.ts.map +1 -0
  22. package/dist/v2/components/FormField/FormField.js +98 -0
  23. package/dist/v2/components/FormField/FormField.scss.js +6 -0
  24. package/dist/v2/components/FormField/index.d.ts +3 -0
  25. package/dist/v2/components/FormField/index.d.ts.map +1 -0
  26. package/dist/v2/components/NPSScore/NPSScore.js +546 -0
  27. package/dist/v2/components/NPSScore/NPSScore.scss.js +6 -0
  28. package/dist/v2/components/NewInput/NewInput.d.ts +20 -0
  29. package/dist/v2/components/NewInput/NewInput.d.ts.map +1 -0
  30. package/dist/v2/components/NewInput/NewInput.js +134 -0
  31. package/dist/v2/components/NewInput/index.d.ts +2 -0
  32. package/dist/v2/components/NewInput/index.d.ts.map +1 -0
  33. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts +10 -0
  34. package/dist/v2/components/NewPageHeader/NewPageHeader.d.ts.map +1 -0
  35. package/dist/v2/components/NewPageHeader/NewPageHeader.js +36 -0
  36. package/dist/v2/components/NewPageHeader/NewPageHeader.scss.js +6 -0
  37. package/dist/v2/components/NewPageHeader/index.d.ts +2 -0
  38. package/dist/v2/components/NewPageHeader/index.d.ts.map +1 -0
  39. package/dist/v2/components/SectionHeader/SectionHeader.d.ts +8 -0
  40. package/dist/v2/components/SectionHeader/SectionHeader.d.ts.map +1 -0
  41. package/dist/v2/components/SectionHeader/SectionHeader.js +13 -0
  42. package/dist/v2/components/SectionHeader/SectionHeader.scss.js +6 -0
  43. package/dist/v2/components/SectionHeader/index.d.ts +3 -0
  44. package/dist/v2/components/SectionHeader/index.d.ts.map +1 -0
  45. package/dist/v2/components/Select/Select.js +128 -0
  46. package/dist/v2/components/Select/Select.scss.js +6 -0
  47. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts +16 -0
  48. package/dist/v2/components/WYSIWYGEditor/Icons.d.ts.map +1 -0
  49. package/dist/v2/components/WYSIWYGEditor/Icons.js +221 -0
  50. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts +14 -0
  51. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.d.ts.map +1 -0
  52. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.js +358 -0
  53. package/dist/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss.js +6 -0
  54. package/dist/v2/components/WYSIWYGEditor/index.d.ts +3 -0
  55. package/dist/v2/components/WYSIWYGEditor/index.d.ts.map +1 -0
  56. package/dist/v2/components/index.d.ts +22 -0
  57. package/dist/v2/components/index.d.ts.map +1 -0
  58. package/dist/v2/dashboard-analytics/blog-posts/Blog.js +103 -0
  59. package/dist/v2/dashboard-analytics/blog-posts/Blog.scss.js +6 -0
  60. package/dist/v2/dashboard-analytics/chart/Chart.js +733 -0
  61. package/dist/v2/dashboard-analytics/chart/Chart.scss.js +6 -0
  62. package/dist/v2/dashboard-analytics/dashboard/Dashboard.js +270 -0
  63. package/dist/v2/dashboard-analytics/dashboard/Dashboard.scss.js +6 -0
  64. package/dist/v2/dashboard-analytics/metric-card/MetricCard.js +65 -0
  65. package/dist/v2/dashboard-analytics/metric-card/MetricCard.scss.js +6 -0
  66. package/dist/v2/dashboard-analytics/venue-card/VenueCard.js +50 -0
  67. package/dist/v2/dashboard-analytics/venue-card/VenueCard.scss.js +6 -0
  68. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.js +48 -0
  69. package/dist/v2/dashboard-analytics/venue-closed-card/VenueClosedCard.scss.js +6 -0
  70. package/dist/v2/icons/index.js +61 -1
  71. package/dist/v2/index.d.ts +3 -1
  72. package/dist/v2/index.d.ts.map +1 -1
  73. package/dist/v2/navigation/DashboardLayout/TopNavigation.scss.js +1 -1
  74. package/dist/v2/pages/Settings/SettingsPage.d.ts +13 -0
  75. package/dist/v2/pages/Settings/SettingsPage.d.ts.map +1 -0
  76. package/dist/v2/pages/Settings/SettingsPage.js +88 -0
  77. package/dist/v2/pages/Settings/SettingsPage.scss.js +6 -0
  78. package/dist/v2/pages/Settings/SettingsTabs.d.ts +14 -0
  79. package/dist/v2/pages/Settings/SettingsTabs.d.ts.map +1 -0
  80. package/dist/v2/pages/Settings/SettingsTabs.js +29 -0
  81. package/dist/v2/pages/Settings/SettingsTabs.scss.js +6 -0
  82. package/dist/v2/pages/Settings/components/SidebarCustomisation.js +283 -0
  83. package/dist/v2/pages/Settings/components/SidebarCustomisation.scss.js +6 -0
  84. package/dist/v2/pages/Settings/components/SidebarNavItem.d.ts +19 -0
  85. package/dist/v2/pages/Settings/components/SidebarNavItem.d.ts.map +1 -0
  86. package/dist/v2/pages/Settings/components/SidebarNavItem.js +41 -0
  87. package/dist/v2/pages/Settings/components/SidebarNavItem.scss.js +6 -0
  88. package/dist/v2/pages/Settings/components/index.d.ts +5 -0
  89. package/dist/v2/pages/Settings/components/index.d.ts.map +1 -0
  90. package/dist/v2/pages/Settings/index.d.ts +7 -0
  91. package/dist/v2/pages/Settings/index.d.ts.map +1 -0
  92. package/dist/v2/styles/form/NewInput.scss.js +6 -0
  93. package/package.json +3 -3
  94. package/src/index.ts +4 -1
  95. package/src/v2/components/Alert/Alert.scss +3 -3
  96. package/src/v2/components/Button/Button.tsx +34 -12
  97. package/src/v2/components/Button/index.ts +2 -2
  98. package/src/v2/components/Checkbox/Checkbox.scss +211 -0
  99. package/src/v2/components/Checkbox/Checkbox.stories.tsx +316 -0
  100. package/src/v2/components/Checkbox/Checkbox.tsx +106 -0
  101. package/src/v2/components/Checkbox/index.ts +3 -0
  102. package/src/v2/components/FormField/FormField.scss +87 -0
  103. package/src/v2/components/FormField/FormField.stories.tsx +71 -0
  104. package/src/v2/components/FormField/FormField.tsx +37 -0
  105. package/src/v2/components/FormField/index.ts +3 -0
  106. package/src/v2/components/NewInput/NewInput.stories.tsx +433 -0
  107. package/src/v2/components/NewInput/NewInput.tsx +96 -0
  108. package/src/v2/components/NewInput/index.ts +1 -0
  109. package/src/v2/components/NewPageHeader/NewPageHeader.scss +47 -0
  110. package/src/v2/components/NewPageHeader/NewPageHeader.stories.tsx +44 -0
  111. package/src/v2/components/NewPageHeader/NewPageHeader.tsx +35 -0
  112. package/src/v2/components/NewPageHeader/index.ts +1 -0
  113. package/src/v2/components/SectionHeader/SectionHeader.scss +11 -0
  114. package/src/v2/components/SectionHeader/SectionHeader.tsx +15 -0
  115. package/src/v2/components/SectionHeader/index.ts +2 -0
  116. package/src/v2/components/Select/Select.scss +5 -5
  117. package/src/v2/components/WYSIWYGEditor/Icons.tsx +93 -0
  118. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.scss +310 -0
  119. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.stories.tsx +252 -0
  120. package/src/v2/components/WYSIWYGEditor/WYSIWYGEditor.tsx +393 -0
  121. package/src/v2/components/WYSIWYGEditor/index.ts +3 -0
  122. package/src/v2/components/index.ts +37 -0
  123. package/src/v2/index.ts +10 -2
  124. package/src/v2/navigation/DashboardLayout/TopNavigation.scss +1 -0
  125. package/src/v2/pages/Settings/SettingsContentPlaceholder.scss +24 -0
  126. package/src/v2/pages/Settings/SettingsPage.scss +52 -0
  127. package/src/v2/pages/Settings/SettingsPage.tsx +46 -0
  128. package/src/v2/pages/Settings/SettingsTabs.scss +44 -0
  129. package/src/v2/pages/Settings/SettingsTabs.tsx +36 -0
  130. package/src/v2/pages/Settings/components/SidebarCustomisation.stories.tsx +48 -0
  131. package/src/v2/pages/Settings/components/SidebarNavItem.scss +76 -0
  132. package/src/v2/pages/Settings/components/SidebarNavItem.stories.tsx +50 -0
  133. package/src/v2/pages/Settings/components/SidebarNavItem.tsx +52 -0
  134. package/src/v2/pages/Settings/components/index.ts +5 -0
  135. package/src/v2/pages/Settings/index.ts +8 -0
  136. package/src/v2/styles/components/Button.scss +51 -53
  137. package/src/v2/styles/form/Layout.scss +15 -0
  138. package/src/v2/styles/form/NewInput.scss +83 -53
  139. package/src/v2/styles/index.scss +1 -0
  140. package/src/v2/styles/tokens/_colors.scss +6 -6
  141. package/src/v2/styles/tokens/_typography.scss +2 -2
  142. package/dist/v2/navigation/icons/index.d.ts +0 -12
  143. package/dist/v2/navigation/icons/index.d.ts.map +0 -1
  144. 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
+ }