@npm_leadtech/legal-lib-components 7.90.0 → 7.90.2

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 (79) hide show
  1. package/dist/css/styles.css +16 -0
  2. package/dist/images/componentsSvg/ArrowRight.js +1 -1
  3. package/dist/images/componentsSvg/ArrowRight.tsx +1 -1
  4. package/dist/images/componentsSvg/CloseIcon.js +1 -1
  5. package/dist/images/componentsSvg/CloseIcon.tsx +3 -6
  6. package/dist/images/componentsSvg/Delete24p.tsx +1 -2
  7. package/dist/images/componentsSvg/Done24px.d.ts +1 -1
  8. package/dist/images/componentsSvg/Done24px.js +1 -1
  9. package/dist/images/componentsSvg/Done24px.tsx +4 -7
  10. package/dist/images/componentsSvg/Edit24p.tsx +1 -1
  11. package/dist/images/componentsSvg/EditText24px.tsx +1 -1
  12. package/dist/images/componentsSvg/Eye24pxOptimized.tsx +1 -1
  13. package/dist/images/componentsSvg/IconDuplicate24px.tsx +1 -1
  14. package/dist/images/componentsSvg/InfoError24pxOutlined.js +1 -1
  15. package/dist/images/componentsSvg/InfoError24pxOutlined.tsx +1 -1
  16. package/dist/images/componentsSvg/MenuCollapse24p.js +1 -1
  17. package/dist/images/componentsSvg/MenuCollapse24p.tsx +1 -1
  18. package/dist/images/componentsSvg/NewRelease24p.d.ts +1 -1
  19. package/dist/images/componentsSvg/NewRelease24p.js +2 -2
  20. package/dist/images/componentsSvg/NewRelease24p.tsx +4 -19
  21. package/dist/images/componentsSvg/RatafiaIcon24px.tsx +3 -3
  22. package/dist/images/componentsSvg/Sign24px.d.ts +2 -2
  23. package/dist/images/componentsSvg/Sign24px.js +1 -1
  24. package/dist/images/componentsSvg/Sign24px.tsx +7 -6
  25. package/dist/images/componentsSvg/Time24px.d.ts +1 -1
  26. package/dist/images/componentsSvg/Time24px.js +2 -2
  27. package/dist/images/componentsSvg/Time24px.tsx +8 -26
  28. package/dist/src/components/atoms/Button/Button.js +1 -1
  29. package/dist/src/components/atoms/Button/Button.scss +19 -0
  30. package/dist/src/components/atoms/Button/Button.tsx +1 -1
  31. package/dist/src/components/atoms/Button/ButtonProps.types.d.ts +1 -1
  32. package/dist/src/components/atoms/Button/ButtonProps.types.ts +1 -0
  33. package/dist/src/components/atoms/DocumentStatus/DocumentStatus.js +5 -15
  34. package/dist/src/components/atoms/DocumentStatus/DocumentStatus.styled.js +41 -40
  35. package/dist/src/components/atoms/DocumentStatus/DocumentStatus.styled.ts +41 -40
  36. package/dist/src/components/atoms/DocumentStatus/DocumentStatus.tsx +7 -35
  37. package/dist/src/components/atoms/DocumentStatus/DocumentStatusProps.types.d.ts +4 -6
  38. package/dist/src/components/atoms/DocumentStatus/DocumentStatusProps.types.ts +5 -6
  39. package/dist/src/components/atoms/PreFooter/PreFooter.js +3 -3
  40. package/dist/src/components/atoms/PreFooter/PreFooter.tsx +2 -2
  41. package/dist/src/components/atoms/PreFooter/PreFooterProps.d.ts +1 -1
  42. package/dist/src/components/atoms/PreFooter/PreFooterProps.ts +1 -1
  43. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.d.ts +3 -0
  44. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.js +16 -0
  45. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.styled.d.ts +1 -0
  46. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.styled.js +60 -0
  47. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.styled.ts +61 -0
  48. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItem.tsx +28 -0
  49. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItemProps.types.d.ts +6 -0
  50. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItemProps.types.js +1 -0
  51. package/dist/src/components/atoms/SignerStatusItem/SignerStatusItemProps.types.ts +7 -0
  52. package/dist/src/components/atoms/SignerStatusItem/index.d.ts +2 -0
  53. package/dist/src/components/atoms/SignerStatusItem/index.js +1 -0
  54. package/dist/src/components/atoms/SignerStatusItem/index.ts +2 -0
  55. package/dist/src/components/atoms/Tooltip/Tooltip.js +0 -2
  56. package/dist/src/components/atoms/Tooltip/Tooltip.tsx +0 -2
  57. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.d.ts +3 -0
  58. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.js +7 -0
  59. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.styled.d.ts +1 -0
  60. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.styled.js +27 -0
  61. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.styled.ts +28 -0
  62. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContent.tsx +38 -0
  63. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContentProps.types.d.ts +9 -0
  64. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContentProps.types.js +1 -0
  65. package/dist/src/components/molecules/SignersStatusTooltipContent/SignersStatusTooltipContentProps.types.ts +10 -0
  66. package/dist/src/components/molecules/SignersStatusTooltipContent/index.d.ts +2 -0
  67. package/dist/src/components/molecules/SignersStatusTooltipContent/index.js +1 -0
  68. package/dist/src/components/molecules/SignersStatusTooltipContent/index.ts +2 -0
  69. package/dist/src/components/molecules/TextInput/tests/Input.test.tsx +29 -18
  70. package/dist/src/components/molecules/TextInput/tests/TextInput.test.tsx +16 -9
  71. package/dist/src/components/molecules/TextInput/tests/TextInputMessage.test.tsx +2 -2
  72. package/dist/src/components/molecules/TextInput/tests/TextInputTooltip.test.tsx +1 -1
  73. package/dist/src/components/molecules/index.d.ts +1 -0
  74. package/dist/src/components/molecules/index.js +1 -0
  75. package/dist/src/components/molecules/index.ts +1 -0
  76. package/dist/src/globalStyles/variables.scss +12 -31
  77. package/dist/src/globalStyles/variablesCss.scss +0 -10
  78. package/dist/tsconfig.build.tsbuildinfo +1 -1
  79. package/package.json +5 -1
@@ -0,0 +1,38 @@
1
+ import React, { type FC } from 'react'
2
+
3
+ import { Button } from '../../atoms/Button'
4
+ import { SignerStatusItem } from '../../atoms/SignerStatusItem'
5
+ import type { SignersStatusTooltipContentProps } from './SignersStatusTooltipContentProps.types'
6
+ import { SignersStatusTooltipContentStyled } from './SignersStatusTooltipContent.styled'
7
+
8
+ export const SignersStatusTooltipContent: FC<SignersStatusTooltipContentProps> = ({
9
+ title = 'Signers Status',
10
+ signers,
11
+ manageRequestsLabel,
12
+ onManageRequestsClick,
13
+ manageRequestsDataQa = 'manage_requests_button',
14
+ givenClass = ''
15
+ }) => {
16
+ return (
17
+ <SignersStatusTooltipContentStyled className={`signers-status-tooltip-content ${givenClass}`.trim()}>
18
+ <h3>{title}</h3>
19
+ <ul className='signers-status-tooltip-content__signers'>
20
+ {signers.map((signer, index) => (
21
+ <SignerStatusItem key={`${signer.status}-${index}`} status={signer.status}>
22
+ {signer.children}
23
+ </SignerStatusItem>
24
+ ))}
25
+ </ul>
26
+ <div className='signers-status-tooltip-content__button'>
27
+ <Button
28
+ noLink
29
+ color='tertiary'
30
+ givenClass='underline-button'
31
+ label={manageRequestsLabel}
32
+ dataQa={manageRequestsDataQa}
33
+ onClick={onManageRequestsClick}
34
+ />
35
+ </div>
36
+ </SignersStatusTooltipContentStyled>
37
+ )
38
+ }
@@ -0,0 +1,9 @@
1
+ import type { SignerStatusItemProps } from '../../atoms/SignerStatusItem/SignerStatusItemProps.types';
2
+ export interface SignersStatusTooltipContentProps {
3
+ title?: string;
4
+ signers: SignerStatusItemProps[];
5
+ manageRequestsLabel: string;
6
+ onManageRequestsClick: () => void;
7
+ manageRequestsDataQa?: string;
8
+ givenClass?: string;
9
+ }
@@ -0,0 +1,10 @@
1
+ import type { SignerStatusItemProps } from '../../atoms/SignerStatusItem/SignerStatusItemProps.types'
2
+
3
+ export interface SignersStatusTooltipContentProps {
4
+ title?: string
5
+ signers: SignerStatusItemProps[]
6
+ manageRequestsLabel: string
7
+ onManageRequestsClick: () => void
8
+ manageRequestsDataQa?: string
9
+ givenClass?: string
10
+ }
@@ -0,0 +1,2 @@
1
+ export { SignersStatusTooltipContent } from './SignersStatusTooltipContent';
2
+ export type { SignersStatusTooltipContentProps } from './SignersStatusTooltipContentProps.types';
@@ -0,0 +1 @@
1
+ export { SignersStatusTooltipContent } from './SignersStatusTooltipContent';
@@ -0,0 +1,2 @@
1
+ export { SignersStatusTooltipContent } from './SignersStatusTooltipContent'
2
+ export type { SignersStatusTooltipContentProps } from './SignersStatusTooltipContentProps.types'
@@ -1,5 +1,4 @@
1
- import { cleanup, fireEvent, render, waitFor } from '@testing-library/react'
2
- import React from 'react'
1
+ import React, { cleanup, fireEvent, render, waitFor } from '@testing-library/react'
3
2
 
4
3
  import { Input } from '../Input'
5
4
 
@@ -8,38 +7,50 @@ afterEach(cleanup)
8
7
  const testName = 'name'
9
8
  const testValue = 'value'
10
9
 
10
+ const defaultInputProps = {
11
+ name: '',
12
+ placeholder: '',
13
+ prefix: '',
14
+ value: '',
15
+ type: 'text' as const,
16
+ disabled: false,
17
+ className: '',
18
+ onChange: jest.fn(),
19
+ onClick: jest.fn(),
20
+ onBlur: jest.fn(),
21
+ onKeyDown: jest.fn(),
22
+ onKeyUp: jest.fn(),
23
+ country: ''
24
+ }
25
+
11
26
  describe('will return the component', () => {
12
27
  test('without props', () => {
13
- const { getByRole } = render(<Input />)
28
+ const { getByRole } = render(<Input {...defaultInputProps} />)
14
29
  expect(getByRole('textbox')).toBeInTheDocument()
15
30
  expect(getByRole('textbox')).toHaveAttribute('type', 'text')
16
31
  })
17
32
  test('of type password: with the eyeIcon rendered', async () => {
18
- const { container, getByRole } = render(<Input type='password' value={testValue} />)
33
+ const { container } = render(<Input {...defaultInputProps} type='password' value={testValue} />)
19
34
  expect(container.firstChild).toHaveAttribute('type', 'password')
20
35
 
21
- const img = getByRole('img')
22
- expect(img).toHaveClass('input-icon-password')
23
- fireEvent.click(img)
36
+ const toggleButton = container.querySelector('.input-icon-password-button')
37
+ expect(toggleButton).toBeTruthy()
38
+ if (toggleButton) fireEvent.click(toggleButton)
24
39
 
25
40
  await waitFor(() => {
26
41
  expect(container.firstChild).toHaveAttribute('type', 'text')
27
42
  })
28
43
  })
29
- test('of type password: with the eyeIcon rendered but is not enabled without value', async () => {
30
- const { container, getByRole } = render(<Input type='password' />)
31
- expect(container.firstChild).toHaveAttribute('type', 'password')
32
-
33
- const img = getByRole('img')
34
- expect(img).toHaveClass('input-icon-password')
35
- fireEvent.click(img)
44
+ test('of type password: with the eyeIcon rendered but without value shows password type initially', () => {
45
+ const { container } = render(<Input {...defaultInputProps} type='password' />)
46
+ const input = container.querySelector('input')
47
+ expect(input).toHaveAttribute('type', 'password')
36
48
 
37
- await waitFor(() => {
38
- expect(container.firstChild).toHaveAttribute('type', 'password')
39
- })
49
+ const toggleButton = container.querySelector('.input-icon-password-button')
50
+ expect(toggleButton).toBeTruthy()
40
51
  })
41
52
  test('of type password: with the eyeIcon rendered', () => {
42
- const { container } = render(<Input name={testName} />)
53
+ const { container } = render(<Input {...defaultInputProps} name={testName} />)
43
54
  expect(container.firstChild).toHaveAttribute('data-qa', testName)
44
55
  })
45
56
  })
@@ -11,43 +11,50 @@ const testErrorMessage = 'Error message'
11
11
  const testLabel = 'Label'
12
12
  const testNotes = 'Notes'
13
13
 
14
+ const defaultTextInputProps = {
15
+ onChange: (): void => {},
16
+ country: ''
17
+ }
18
+
14
19
  describe('will return the component', () => {
15
20
  test('without props', () => {
16
- const { getByRole, container } = render(<TextInput />)
21
+ const { getByRole, container } = render(<TextInput {...defaultTextInputProps} />)
17
22
  expect(container.firstChild).toHaveClass('e-text')
18
23
  expect(getByRole('textbox')).toHaveAttribute('type', 'text')
19
24
  })
20
25
 
21
26
  test('NumberFormat input if the format prop is passed', () => {
22
- const { getByRole } = render(<TextInput format={testFormat} />)
27
+ const { getByRole } = render(<TextInput {...defaultTextInputProps} format={testFormat} />)
23
28
  expect(getByRole('textbox')).toHaveClass('e-text-input')
24
29
  expect(getByRole('textbox')).toHaveAttribute('type', 'text')
25
30
  expect(getByRole('textbox')).toHaveAttribute('inputmode', 'numeric')
26
31
  })
27
32
 
28
33
  test('with a tooltip', () => {
29
- const { getByText } = render(<TextInput tooltip={testTooltip} />)
34
+ const { getByText } = render(<TextInput {...defaultTextInputProps} tooltip={testTooltip} />)
30
35
  expect(getByText(testTooltip)).toHaveClass('tooltip-form')
31
36
  })
32
37
 
33
38
  test('with a error message', () => {
34
- const { getByText } = render(<TextInput errorMessage={testErrorMessage} validate={false} />)
39
+ const { getByText } = render(
40
+ <TextInput {...defaultTextInputProps} errorMessage={testErrorMessage} validate={false} />
41
+ )
35
42
  expect(getByText(testErrorMessage)).toHaveClass('e-text__error-label')
36
43
  })
37
44
 
38
45
  test('with a label', () => {
39
- const { getByText } = render(<TextInput label={testLabel} />)
46
+ const { getByText } = render(<TextInput {...defaultTextInputProps} label={testLabel} />)
40
47
  expect(getByText(testLabel)).toHaveClass('form-group__label')
41
48
  })
42
49
 
43
50
  test('with notes', () => {
44
- const { getByText } = render(<TextInput notes={testNotes} />)
51
+ const { getByText } = render(<TextInput {...defaultTextInputProps} notes={testNotes} />)
45
52
  expect(getByText(testNotes)).toHaveClass('e-text__inner__notes')
46
53
  })
47
54
 
48
55
  test('should have children', () => {
49
56
  const { getByText } = render(
50
- <TextInput>
57
+ <TextInput {...defaultTextInputProps}>
51
58
  <span>test children</span>
52
59
  </TextInput>
53
60
  )
@@ -55,10 +62,10 @@ describe('will return the component', () => {
55
62
  })
56
63
 
57
64
  test('should have id in input and for in label', () => {
58
- const { getByText, getByLabelText } = render(<TextInput name='cvv' label='CVV' />)
65
+ const { getByText, getByLabelText } = render(<TextInput {...defaultTextInputProps} name='cvv' label='CVV' />)
59
66
 
60
67
  const label = getByText('CVV')
61
- const input = getByLabelText('CVV')
68
+ const input = getByLabelText('CVV') as HTMLInputElement
62
69
 
63
70
  expect(label).toBeDefined()
64
71
  expect(label).toHaveAttribute('for', 'cvv')
@@ -9,11 +9,11 @@ const testErrorMessage = 'Error message'
9
9
 
10
10
  describe('will return null', () => {
11
11
  test('if no prop is passed', () => {
12
- const { container } = render(<TextInputMessage />)
12
+ const { container } = render(<TextInputMessage errorMessage='' validate={false} />)
13
13
  expect(container.firstChild).toBe(null)
14
14
  })
15
15
  test('if errorMessage is passed and validate is true', () => {
16
- const { container } = render(<TextInputMessage errorMessage={testErrorMessage} />)
16
+ const { container } = render(<TextInputMessage errorMessage={testErrorMessage} validate={true} />)
17
17
  expect(container.firstChild).toBe(null)
18
18
  })
19
19
  })
@@ -9,7 +9,7 @@ const testTooltip = 'Tooltip'
9
9
 
10
10
  describe('will return null', () => {
11
11
  test('if no prop is passed', () => {
12
- const { container } = render(<TextInputTooltip />)
12
+ const { container } = render(<TextInputTooltip tooltip='' />)
13
13
  expect(container.firstChild).toBe(null)
14
14
  })
15
15
  })
@@ -43,6 +43,7 @@ export * from './RatafiaResultCardList';
43
43
  export * from './RatafiaResultTabList';
44
44
  export * from './SocialLinks';
45
45
  export * from './SubscriptionCard';
46
+ export * from './SignersStatusTooltipContent';
46
47
  export * from './Snackbar';
47
48
  export * from './SearchBar';
48
49
  export * from './StepGetForm';
@@ -43,6 +43,7 @@ export * from './RatafiaResultCardList';
43
43
  export * from './RatafiaResultTabList';
44
44
  export * from './SocialLinks';
45
45
  export * from './SubscriptionCard';
46
+ export * from './SignersStatusTooltipContent';
46
47
  export * from './Snackbar';
47
48
  export * from './SearchBar';
48
49
  export * from './StepGetForm';
@@ -43,6 +43,7 @@ export * from './RatafiaResultCardList'
43
43
  export * from './RatafiaResultTabList'
44
44
  export * from './SocialLinks'
45
45
  export * from './SubscriptionCard'
46
+ export * from './SignersStatusTooltipContent'
46
47
  export * from './Snackbar'
47
48
  export * from './SearchBar'
48
49
  export * from './StepGetForm'
@@ -1,10 +1,6 @@
1
1
  @use 'sass:math';
2
2
 
3
- // =============================================================================
4
- // Figma tokens reference: figma-tokens/
5
- // =============================================================================
6
-
7
- // Breakpoints (relate to figma-tokens/grids/Mode 1.tokens.json: grid-xl, grid-l, grid-m, grid-s)
3
+ // Breakpoints
8
4
  $xl: 1600px;
9
5
  $lg: 1200px;
10
6
  $md: 960px;
@@ -12,63 +8,48 @@ $sm: 720px;
12
8
  $xs: 575px;
13
9
  $xxs: 328px;
14
10
 
15
- // Colors — figma-tokens/color (Legalfinity.tokens.json | Lawdistrict.tokens.json)
16
- // primary.* ↔ primary/50 … primary/900 | secondary.* ↔ secondary/50 … secondary/700
17
- // neutral.* ↔ neutral/25, 50, 200, 400, 600, 800, 900, white | error.* ↔ error/20, 200, 500
18
- // others.* ↔ others/black, others/disabled
11
+ // Colors
19
12
  $colors: (
20
13
  primary: (
21
14
  main-light-6: var(--primary-main-light-6),
22
- // ~ primary/50–100
23
15
  main-light-5: var(--primary-main-light-5),
24
16
  main-light-4: var(--primary-main-light-4),
25
17
  main-light-3: var(--primary-main-light-3),
26
18
  main-light-2: var(--primary-main-light-2),
27
19
  main-light-1: var(--primary-main-light-1),
28
20
  main: var(--primary-main),
29
- // ~ primary/500
30
21
  main-dark-1: var(--primary-main-dark-1),
31
22
  main-dark-1-rgb: var(--primary-main-dark-1-rgb),
32
- main-dark-2: var(--primary-main-dark-2) // ~ primary/800–900
23
+ main-dark-2: var(--primary-main-dark-2)
33
24
  ),
34
25
  secondary: (
35
26
  main-light-5: var(--secondary-main-light-5),
36
- // ~ secondary/50–100
37
27
  main-light-4: var(--secondary-main-light-4),
38
28
  main-light-3: var(--secondary-main-light-3),
39
29
  main-light-2: var(--secondary-main-light-2),
40
30
  main-light-1: var(--secondary-main-light-1),
41
31
  main: var(--secondary-main),
42
- // ~ secondary/400–500
43
32
  main-dark-1: var(--secondary-main-dark-1),
44
- main-dark-2: var(--secondary-main-dark-2) // ~ secondary/600–700
33
+ main-dark-2: var(--secondary-main-dark-2)
45
34
  ),
46
35
  neutral: (
47
36
  main: var(--neutral-main),
48
- // ~ neutral/600–800
49
37
  neutral-1: var(--neutral-neutral-1),
50
- // ~ neutral/25
51
38
  neutral-2: var(--neutral-neutral-2),
52
- // ~ neutral/50–200
53
39
  neutral-3: var(--neutral-neutral-3),
54
40
  neutral-4: var(--neutral-neutral-4),
55
- // ~ neutral/400
56
41
  neutral-5: var(--neutral-neutral-5),
57
- neutral-6: var(--neutral-neutral-6) // ~ neutral/800–900
42
+ neutral-6: var(--neutral-neutral-6)
58
43
  ),
59
44
  error: (
60
45
  main: var(--error-main),
61
- // ~ error/500
62
46
  error-2: var(--error-error-2),
63
- // ~ error/200
64
47
  error-3: var(--error-error-3)
65
48
  ),
66
49
  others: (
67
50
  white: var(--others-white),
68
- // ~ neutral/white
69
51
  disabled: var(--others-disabled),
70
- // others/disabled
71
- black: var(--others-black) // others/black
52
+ black: var(--others-black)
72
53
  )
73
54
  );
74
55
 
@@ -77,19 +58,19 @@ $colors: (
77
58
  @return $color;
78
59
  }
79
60
 
80
- // Box shadow — figma-tokens/box-shadow/value.tokens.json (small | medium)
61
+ // Box shadow
81
62
  $box-shadow-small: var(--box-shadow-small);
82
63
  $box-shadow-medium: var(--box-shadow-medium);
83
64
  $box-shadow-menu: var(--box-shadow-menu);
84
65
  $box-shadow-tippy-box: var(--box-shadow-tippy-box);
85
66
  $box-shadow-container: var(--box-shadow-container);
86
67
 
87
- // Fonts — figma-tokens/font (font-family/primary, font-family/secondary; Lawdistrict: Inter + Lora)
88
- $font-sans: 'Inter', sans-serif; // font-family/primary (Lawdistrict)
89
- $font-serif: 'Lora', serif; // font-family/secondary (Lawdistrict)
68
+ // Fonts
69
+ $font-sans: 'Inter', sans-serif;
70
+ $font-serif: 'Lora', serif;
90
71
 
91
- // Layout (max-width aligns with breakpoints; spacing scale in figma-tokens/border-and-spacing/Mode 1.tokens.json)
72
+ // Layout
92
73
  $max-width: $lg;
93
74
 
94
- // menu
75
+ //menu
95
76
  $menu-height-mobile: 3.25rem;
@@ -1,30 +1,20 @@
1
- // =============================================================================
2
- // Figma tokens reference: figma-tokens/
3
- // =============================================================================
4
-
5
1
  html {
6
- // figma-tokens/font: font-family/primary, font-family/secondary (Lawdistrict: Inter, Lora)
7
2
  --font-sans: 'Inter', sans-serif;
8
3
  --font-serif: 'Lora', serif;
9
4
 
10
- // figma-tokens/border-and-spacing/Mode 1.tokens.json: border-radius/sm (4px), border-radius/md (8px), border-radius/l (16px)
11
5
  --s-border-radius: 0.25rem;
12
6
  --m-border-radius: 0.5rem;
13
7
  --l-border-radius: 1rem;
14
8
 
15
- // figma-tokens/box-shadow/value.tokens.json:
16
- // small, medium (color uses primary dark; menu/tippy/container are variants)
17
9
  --box-shadow-small: 0 0.125rem 0.375rem 0 rgba(var(--primary-main-dark-1-rgb), 0.25);
18
10
  --box-shadow-medium: 0 0.25rem 0.5rem 0 rgba(var(--primary-main-dark-1-rgb), 0.2);
19
11
  --box-shadow-menu: 0 0.25rem 0.5rem -0.5rem rgba(var(--primary-main-dark-1-rgb), 0.2);
20
12
  --box-shadow-tippy-box: 0 0.25rem 0.5rem 0.25rem rgba(var(--primary-main-dark-1-rgb), 0.2);
21
13
  --box-shadow-container: 0px 2px 6px 0px rgba(var(--primary-main-dark-1-rgb), 0.25);
22
14
 
23
- // figma-tokens/border-and-spacing/Mode 1.tokens.json: spacing scale (e.g. spacing/sm 16px → 1rem)
24
15
  --global-gap: 1rem;
25
16
  }
26
17
 
27
- // Theme: Legalfinity — figma-tokens/font/Legalfinity.tokens.json (font-family/primary, secondary → Poppins)
28
18
  html[data-theme='primaryblue'] {
29
19
  --font-sans: 'Poppins', sans-serif;
30
20
  --font-serif: 'Poppins', serif;