@loword/loword-design-system 0.0.7 → 0.0.9

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 (126) hide show
  1. package/dist/components/Icon/LucideIcon.d.ts +2 -1
  2. package/dist/components/Icon/LucideIcon.d.ts.map +1 -1
  3. package/dist/components/Icon/LucideIcon.js +2 -2
  4. package/dist/components/LDAutoComplete/AutoCompleteBase.js +1 -1
  5. package/dist/components/LDBreadCrumb/LDBreadCrumb.js +7 -7
  6. package/dist/components/LDButton/LDButton.d.ts +1 -0
  7. package/dist/components/LDButton/LDButton.d.ts.map +1 -1
  8. package/dist/components/LDButton/LDButton.js +3 -3
  9. package/dist/components/LDCarousel/CarouselBase.d.ts +6 -2
  10. package/dist/components/LDCarousel/CarouselBase.d.ts.map +1 -1
  11. package/dist/components/LDCarousel/CarouselBase.js +11 -5
  12. package/dist/components/LDCarousel/LDCarousel.d.ts +9 -2
  13. package/dist/components/LDCarousel/LDCarousel.d.ts.map +1 -1
  14. package/dist/components/LDCarousel/LDCarousel.js +3 -2
  15. package/dist/components/LDCheckbox/FormCheckbox.js +2 -2
  16. package/dist/components/LDCheckbox/FormCheckboxGroup.js +2 -2
  17. package/dist/components/LDCheckbox/LDCheckbox.d.ts.map +1 -1
  18. package/dist/components/LDCheckbox/LDCheckbox.js +7 -1
  19. package/dist/components/LDDatePicker/FormDatePicker.js +2 -2
  20. package/dist/components/LDDatePicker/LDDatePicker.d.ts.map +1 -1
  21. package/dist/components/LDDatePicker/LDDatePicker.js +1 -3
  22. package/dist/components/LDDateRangePicker/FormDateRangePicker.js +2 -2
  23. package/dist/components/LDDateRangePicker/LDDateRangePicker.js +8 -8
  24. package/dist/components/LDFileUpload/FileUploadBase.d.ts +6 -3
  25. package/dist/components/LDFileUpload/FileUploadBase.d.ts.map +1 -1
  26. package/dist/components/LDFileUpload/FileUploadBase.js +28 -11
  27. package/dist/components/LDFileUpload/LDFileUpload.d.ts +2 -0
  28. package/dist/components/LDFileUpload/LDFileUpload.d.ts.map +1 -1
  29. package/dist/components/LDFileUpload/LDFileUpload.js +1 -1
  30. package/dist/components/LDFileUpload/LDFileUploadList.d.ts +2 -0
  31. package/dist/components/LDFileUpload/LDFileUploadList.d.ts.map +1 -1
  32. package/dist/components/LDFileUpload/LDFileUploadList.js +1 -1
  33. package/dist/components/LDFileUpload/LDImageUpload.d.ts +2 -0
  34. package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -1
  35. package/dist/components/LDFileUpload/LDImageUpload.js +1 -1
  36. package/dist/components/LDFileUpload/LDImageUploadList.d.ts +2 -0
  37. package/dist/components/LDFileUpload/LDImageUploadList.d.ts.map +1 -1
  38. package/dist/components/LDFileUpload/LDImageUploadList.js +1 -1
  39. package/dist/components/LDForm/LDForm.d.ts +21 -0
  40. package/dist/components/LDForm/LDForm.d.ts.map +1 -0
  41. package/dist/components/{Form/Form.js → LDForm/LDForm.js} +3 -3
  42. package/dist/components/LDForm/LDFormErrorMessage.d.ts +9 -0
  43. package/dist/components/LDForm/LDFormErrorMessage.d.ts.map +1 -0
  44. package/dist/components/LDForm/LDFormErrorMessage.js +17 -0
  45. package/dist/components/{Form/FormField.d.ts → LDForm/LDFormField.d.ts} +6 -6
  46. package/dist/components/LDForm/LDFormField.d.ts.map +1 -0
  47. package/dist/components/{Form/FormField.js → LDForm/LDFormField.js} +2 -2
  48. package/dist/components/LDInput/LDFormInput.d.ts +15 -0
  49. package/dist/components/LDInput/LDFormInput.d.ts.map +1 -0
  50. package/dist/components/LDInput/{FormInput.js → LDFormInput.js} +12 -7
  51. package/dist/components/LDInput/LDInput.d.ts.map +1 -1
  52. package/dist/components/LDInput/LDInput.js +21 -13
  53. package/dist/components/LDPagination/PaginationBase.d.ts.map +1 -1
  54. package/dist/components/LDPagination/PaginationBase.js +7 -7
  55. package/dist/components/LDPopover/LDPopover.js +3 -3
  56. package/dist/components/LDPopover/PopoverBase.js +1 -1
  57. package/dist/components/LDRadio/FormRadioGroup.js +2 -2
  58. package/dist/components/LDRadio/LDRadio.d.ts.map +1 -1
  59. package/dist/components/LDRadio/LDRadio.js +3 -5
  60. package/dist/components/LDRadio/RadioBase.d.ts.map +1 -1
  61. package/dist/components/LDRadio/RadioBase.js +1 -3
  62. package/dist/components/LDSelect/FormMultiSelect.js +2 -2
  63. package/dist/components/LDSelect/FormSelect.js +2 -2
  64. package/dist/components/LDSelect/LDMultiSelect.js +3 -3
  65. package/dist/components/LDSelect/LDSelect.js +1 -1
  66. package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts +26 -0
  67. package/dist/components/LDTable/LDCollapsibleTanstackTable.d.ts.map +1 -0
  68. package/dist/components/LDTable/LDCollapsibleTanstackTable.js +38 -0
  69. package/dist/components/LDTable/LDTable.d.ts +5 -1
  70. package/dist/components/LDTable/LDTable.d.ts.map +1 -1
  71. package/dist/components/LDTable/LDTable.js +13 -17
  72. package/dist/components/LDTable/LDTanstackTable.d.ts +15 -13
  73. package/dist/components/LDTable/LDTanstackTable.d.ts.map +1 -1
  74. package/dist/components/LDTable/LDTanstackTable.js +21 -23
  75. package/dist/components/LDTable/TableField.d.ts +17 -5
  76. package/dist/components/LDTable/TableField.d.ts.map +1 -1
  77. package/dist/components/LDTable/TableField.js +16 -6
  78. package/dist/components/LDTeamHistory/LDTeamHistory.d.ts +12 -0
  79. package/dist/components/LDTeamHistory/LDTeamHistory.d.ts.map +1 -0
  80. package/dist/components/LDTeamHistory/LDTeamHistory.js +14 -0
  81. package/dist/components/{LDAnchor/AnchorBase.d.ts → LDTeamHistory/TeamHistoryBase.d.ts} +12 -6
  82. package/dist/components/LDTeamHistory/TeamHistoryBase.d.ts.map +1 -0
  83. package/dist/components/LDTeamHistory/TeamHistoryBase.js +108 -0
  84. package/dist/components/LDTextarea/FormTextarea.d.ts +14 -0
  85. package/dist/components/LDTextarea/FormTextarea.d.ts.map +1 -0
  86. package/dist/components/LDTextarea/FormTextarea.js +10 -0
  87. package/dist/components/LDTextarea/LDTextarea.d.ts +26 -0
  88. package/dist/components/LDTextarea/LDTextarea.d.ts.map +1 -0
  89. package/dist/components/LDTextarea/LDTextarea.js +163 -0
  90. package/dist/components/LDTimePicker/FormTimePicker.js +2 -2
  91. package/dist/components/LDTimePicker/LDTimePicker.js +4 -4
  92. package/dist/components/LDToggleButton/FormToggleButton.js +2 -2
  93. package/dist/components/LDTooltip/TooltipBase.js +1 -1
  94. package/dist/index.css +914 -684
  95. package/dist/index.d.ts +8 -5
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +10 -6
  98. package/dist/utils/renderIcon.d.ts +1 -1
  99. package/package.json +23 -21
  100. package/src/styles/carousel.css +54 -7
  101. package/src/styles/components/auto-complete.css +66 -64
  102. package/src/styles/components/badge.css +29 -27
  103. package/src/styles/components/bread-crumb.css +49 -17
  104. package/src/styles/components/button.css +146 -144
  105. package/src/styles/components/icon.css +25 -23
  106. package/src/styles/components/index.css +1 -0
  107. package/src/styles/components/input.css +43 -41
  108. package/src/styles/components/modal.css +14 -12
  109. package/src/styles/components/shared.css +2 -2
  110. package/src/styles/components/spinner.css +25 -23
  111. package/src/styles/components/team-history.css +10 -0
  112. package/src/styles/focus.css +1 -1
  113. package/src/styles/slider.css +58 -54
  114. package/dist/components/Form/Form.d.ts +0 -21
  115. package/dist/components/Form/Form.d.ts.map +0 -1
  116. package/dist/components/Form/FormErrorMessage.d.ts +0 -9
  117. package/dist/components/Form/FormErrorMessage.d.ts.map +0 -1
  118. package/dist/components/Form/FormErrorMessage.js +0 -6
  119. package/dist/components/Form/FormField.d.ts.map +0 -1
  120. package/dist/components/LDAnchor/AnchorBase.d.ts.map +0 -1
  121. package/dist/components/LDAnchor/AnchorBase.js +0 -69
  122. package/dist/components/LDAnchor/LDAnchor.d.ts +0 -10
  123. package/dist/components/LDAnchor/LDAnchor.d.ts.map +0 -1
  124. package/dist/components/LDAnchor/LDAnchor.js +0 -14
  125. package/dist/components/LDInput/FormInput.d.ts +0 -15
  126. package/dist/components/LDInput/FormInput.d.ts.map +0 -1
@@ -1,65 +1,69 @@
1
- .ld-slider-thumb {
2
- -webkit-appearance: none;
3
- appearance: none;
4
- background: transparent;
5
- cursor: pointer;
6
- pointer-events: none;
7
- }
1
+ @layer components {
2
+ .ld-slider-thumb {
3
+ -webkit-appearance: none;
4
+ appearance: none;
5
+ background: transparent;
6
+ cursor: pointer;
7
+ pointer-events: none;
8
+ }
8
9
 
9
- .ld-slider-thumb::-webkit-slider-runnable-track {
10
- background: transparent;
11
- }
10
+ .ld-slider-thumb::-webkit-slider-runnable-track {
11
+ background: transparent;
12
+ }
12
13
 
13
- .ld-slider-thumb::-moz-range-track {
14
- background: transparent;
15
- }
14
+ .ld-slider-thumb::-moz-range-track {
15
+ background: transparent;
16
+ }
16
17
 
17
- .ld-slider-thumb::-webkit-slider-thumb {
18
- -webkit-appearance: none;
19
- width: 18px;
20
- height: 18px;
21
- border-radius: 50%;
22
- background-color: var(--color-lb500);
23
- border: 2px solid white;
24
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
25
- transition: transform 150ms ease-out, box-shadow 150ms ease-out;
26
- pointer-events: auto;
27
- }
18
+ .ld-slider-thumb::-webkit-slider-thumb {
19
+ -webkit-appearance: none;
20
+ width: 18px;
21
+ height: 18px;
22
+ border-radius: 50%;
23
+ background-color: var(--color-lb500);
24
+ border: 2px solid white;
25
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
26
+ transition:
27
+ transform 150ms ease-out,
28
+ box-shadow 150ms ease-out;
29
+ pointer-events: auto;
30
+ }
28
31
 
29
- .ld-slider-thumb::-webkit-slider-thumb:hover {
30
- transform: scale(1.15);
31
- box-shadow: 0 2px 8px rgba(104, 145, 248, 0.4);
32
- }
32
+ .ld-slider-thumb::-webkit-slider-thumb:hover {
33
+ transform: scale(1.15);
34
+ box-shadow: 0 2px 8px rgba(104, 145, 248, 0.4);
35
+ }
33
36
 
34
- .ld-slider-thumb::-webkit-slider-thumb:active {
35
- transform: scale(1.25);
36
- }
37
+ .ld-slider-thumb::-webkit-slider-thumb:active {
38
+ transform: scale(1.25);
39
+ }
37
40
 
38
- .ld-slider-thumb::-moz-range-thumb {
39
- width: 18px;
40
- height: 18px;
41
- border-radius: 50%;
42
- background-color: var(--color-lb500);
43
- border: 2px solid white;
44
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
45
- cursor: pointer;
46
- pointer-events: auto;
47
- }
41
+ .ld-slider-thumb::-moz-range-thumb {
42
+ width: 18px;
43
+ height: 18px;
44
+ border-radius: 50%;
45
+ background-color: var(--color-lb500);
46
+ border: 2px solid white;
47
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
48
+ cursor: pointer;
49
+ pointer-events: auto;
50
+ }
48
51
 
49
- .ld-slider-thumb:disabled::-webkit-slider-thumb {
50
- background-color: var(--color-mono300);
51
- cursor: not-allowed;
52
- }
52
+ .ld-slider-thumb:disabled::-webkit-slider-thumb {
53
+ background-color: var(--color-mono300);
54
+ cursor: not-allowed;
55
+ }
53
56
 
54
- .ld-slider-thumb:disabled::-moz-range-thumb {
55
- background-color: var(--color-mono300);
56
- cursor: not-allowed;
57
- }
57
+ .ld-slider-thumb:disabled::-moz-range-thumb {
58
+ background-color: var(--color-mono300);
59
+ cursor: not-allowed;
60
+ }
58
61
 
59
- .ld-slider-thumb-active::-webkit-slider-thumb {
60
- pointer-events: auto;
61
- }
62
+ .ld-slider-thumb-active::-webkit-slider-thumb {
63
+ pointer-events: auto;
64
+ }
62
65
 
63
- .ld-slider-thumb-inactive::-webkit-slider-thumb {
64
- pointer-events: none;
66
+ .ld-slider-thumb-inactive::-webkit-slider-thumb {
67
+ pointer-events: none;
68
+ }
65
69
  }
@@ -1,21 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- import { type FieldValues, type SubmitHandler, type SubmitErrorHandler, type UseFormReturn } from 'react-hook-form';
3
- interface FormCommonProps<T extends FieldValues> {
4
- methods: UseFormReturn<T>;
5
- children: ReactNode;
6
- className?: string;
7
- id?: string;
8
- onError?: SubmitErrorHandler<T>;
9
- }
10
- interface FormProps<T extends FieldValues> extends FormCommonProps<T> {
11
- onSubmit: SubmitHandler<T>;
12
- }
13
- interface NativeFormProps<T extends FieldValues> extends FormCommonProps<T> {
14
- action?: string;
15
- method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
16
- onSubmit: (data: T) => Promise<void> | void;
17
- }
18
- declare const Form: <T extends FieldValues>({ methods, onSubmit, onError, className, children, id, }: FormProps<T>) => import("react/jsx-runtime").JSX.Element;
19
- declare const NativeForm: <T extends FieldValues>({ methods, method, action, onSubmit, className, children, id, }: NativeFormProps<T>) => import("react/jsx-runtime").JSX.Element;
20
- export { Form, NativeForm };
21
- //# sourceMappingURL=Form.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/Form/Form.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,eAAe,CAAC,CAAC,SAAS,WAAW;IAC7C,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC;CACjC;AAED,UAAU,SAAS,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACnE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,UAAU,eAAe,CAAC,CAAC,SAAS,WAAW,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC7C;AAED,QAAA,MAAM,IAAI,GAAI,CAAC,SAAS,WAAW,EAAE,0DAOlC,SAAS,CAAC,CAAC,CAAC,4CAYd,CAAC;AAEF,QAAA,MAAM,UAAU,GAAI,CAAC,SAAS,WAAW,EAAE,iEAQxC,eAAe,CAAC,CAAC,CAAC,4CAwBpB,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC"}
@@ -1,9 +0,0 @@
1
- interface FormErrorMessageProps {
2
- id?: string;
3
- error: string;
4
- disabled?: boolean;
5
- className?: string;
6
- }
7
- declare const FormErrorMessage: ({ id, error, disabled, className, }: FormErrorMessageProps) => import("react/jsx-runtime").JSX.Element;
8
- export default FormErrorMessage;
9
- //# sourceMappingURL=FormErrorMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormErrorMessage.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormErrorMessage.tsx"],"names":[],"mappings":"AAEA,UAAU,qBAAqB;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,gBAAgB,GAAI,qCAKvB,qBAAqB,4CAcvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import cn from '../../utils/cn.js';
3
- const FormErrorMessage = ({ id, error, disabled = false, className, }) => {
4
- return (_jsx("div", { id: id, role: "alert", className: cn('text-red500 display12 bold absolute bottom-1 right-2', error && !disabled ? 'error-show' : 'error-hide', className), children: error && `*${error}` }));
5
- };
6
- export default FormErrorMessage;
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../src/components/Form/FormField.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,iBAAiB,CAAC;AAEzB,UAAU,UAAU;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,UAAU,oBAAoB,CAAC,MAAM,GAAG,GAAG;IACzC,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,GAAG,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;QAC5B;;;WAGG;QACH,QAAQ,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;QACpC,MAAM,EAAE,MAAM,IAAI,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,+BAA+B;QAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;QAC5C,iDAAiD;QACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3D;AAED,UAAU,cAAc,CAAC,MAAM,GAAG,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC;CAC9D;AAED,QAAA,MAAM,SAAS,GAAI,MAAM,GAAG,GAAG,EAAG,iEAO/B,cAAc,CAAC,MAAM,CAAC,cAyCxB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AnchorBase.d.ts","sourceRoot":"","sources":["../../../src/components/LDAnchor/AnchorBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,OAAO,CAAC;AAmBf,UAAU,SAAS;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAkED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAsDD,eAAO,MAAM,UAAU;kBA5HF,SAAS;iCAwEM;QAAE,UAAU,CAAC,EAAE,oBAAoB,CAAA;KAAE;qCAgCjC;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;CAwBpE,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -1,69 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { createContext, useContext, useEffect, useRef, useState, } from 'react';
3
- const AnchorContext = createContext(null);
4
- const useAnchorContext = () => {
5
- const anchorContext = useContext(AnchorContext);
6
- if (!anchorContext)
7
- throw new Error('LDAnchor 하위 컴포넌트는 Root 내부에서 사용해야 합니다.');
8
- return anchorContext;
9
- };
10
- const Root = (props) => {
11
- const [index, setIndex] = useState(0);
12
- const sectionRefs = useRef(Array(props.sections.length).fill(null));
13
- const moveToSection = (targetIndex) => {
14
- setIndex(targetIndex);
15
- sectionRefs.current?.[targetIndex]?.scrollIntoView({
16
- behavior: 'smooth',
17
- block: 'start',
18
- });
19
- };
20
- useEffect(() => {
21
- sectionRefs.current = Array.from({ length: props.sections.length }, (_, idx) => sectionRefs.current[idx] ?? null);
22
- }, [props.sections.length]);
23
- useEffect(() => {
24
- const observer = new IntersectionObserver((entries) => {
25
- entries.forEach((entry) => {
26
- if (entry.isIntersecting) {
27
- const index = sectionRefs.current.indexOf(entry.target);
28
- setIndex(index);
29
- }
30
- });
31
- }, {
32
- threshold: 0.5,
33
- });
34
- sectionRefs.current.forEach((ref) => {
35
- if (ref) {
36
- observer.observe(ref);
37
- }
38
- });
39
- return () => {
40
- observer.disconnect();
41
- };
42
- }, [props.sections.length]);
43
- return (_jsx(AnchorContext.Provider, { value: {
44
- targets: props.targets,
45
- sections: props.sections,
46
- index,
47
- sectionRefs,
48
- moveToSection,
49
- }, children: props.children }));
50
- };
51
- const Navigation = ({ classNames }) => {
52
- const { targets, index, moveToSection } = useAnchorContext();
53
- return (_jsx("nav", { className: classNames?.root, children: targets.map((target, idx) => {
54
- const isActive = idx === index;
55
- return (_jsxs("div", { className: "flex flex-col items-end", children: [_jsxs("button", { className: classNames?.item, "aria-current": isActive ? 'true' : undefined, onClick: () => moveToSection(idx), children: [_jsx("span", { "data-active": isActive, className: classNames?.label, children: target }), _jsx("span", { "data-active": isActive, className: classNames?.dot })] }), idx < targets.length - 1 && (_jsx("span", { "data-active": idx + 1 === index, className: classNames?.line }))] }, `${target}_${idx}`));
56
- }) }));
57
- };
58
- const Sections = ({ sectionClassName }) => {
59
- const { sections, sectionRefs } = useAnchorContext();
60
- return (_jsx(_Fragment, { children: sections.map((item, idx) => (_jsx("section", { ref: (el) => {
61
- sectionRefs.current[idx] = el;
62
- }, className: sectionClassName, children: item }, `section_content_${idx}`))) }));
63
- };
64
- export const AnchorBase = {
65
- Root,
66
- Navigation,
67
- Sections,
68
- };
69
- export default AnchorBase;
@@ -1,10 +0,0 @@
1
- import { type ReactNode } from 'react';
2
- export interface LDAnchorProps {
3
- targets: string[];
4
- sections: ReactNode[];
5
- className?: string;
6
- navigationClassName?: string;
7
- }
8
- declare const LDAnchor: (props: LDAnchorProps) => import("react/jsx-runtime").JSX.Element;
9
- export default LDAnchor;
10
- //# sourceMappingURL=LDAnchor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LDAnchor.d.ts","sourceRoot":"","sources":["../../../src/components/LDAnchor/LDAnchor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,QAAA,MAAM,QAAQ,GAAI,OAAO,aAAa,4CAqBrC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1,14 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import cn from '../../utils/cn.js';
4
- import AnchorBase from './AnchorBase.js';
5
- const LDAnchor = (props) => {
6
- return (_jsx(AnchorBase.Root, { targets: props.targets, sections: props.sections, children: _jsxs("div", { className: cn('relative flex flex-col gap-sm', props.className), children: [_jsx(AnchorBase.Navigation, { classNames: {
7
- root: cn('fixed left-0 top-1/2 -translate-y-1/2 flex flex-col', props.navigationClassName),
8
- item: 'flex flex-row items-center justify-between cursor-pointer w-full',
9
- label: 'flex items-center px-md text-lb100 ld-transition data-[active=true]:text-lb500',
10
- dot: 'size-2 rounded-full bg-lb100 outline-lb500 ld-transition data-[active=true]:bg-transparent data-[active=true]:outline-3',
11
- line: 'h-20 w-0.5 mr-0.75 bg-lb100 ld-transition data-[active=true]:bg-lb500',
12
- } }), _jsx(AnchorBase.Sections, { sectionClassName: "flex flex-col rounded-md px-md py-sm" })] }) }));
13
- };
14
- export default LDAnchor;
@@ -1,15 +0,0 @@
1
- import { type Ref } from 'react';
2
- import { type RegisterOptions } from 'react-hook-form';
3
- import { type LDInputProps } from './LDInput.js';
4
- interface FormInputProps extends Omit<LDInputProps, 'name' | 'color' | 'onChange' | 'value' | 'onBlur'> {
5
- name: string;
6
- options?: RegisterOptions;
7
- ref?: Ref<HTMLInputElement>;
8
- customErrorMessage?: string;
9
- isHiddenErrorMessage?: boolean;
10
- errorClassName?: string;
11
- showEditIcon?: boolean;
12
- }
13
- declare const FormInput: ({ name, options, variant, size, block, disabled, ref, customErrorMessage, isHiddenErrorMessage, errorClassName, showEditIcon, rightAddon, ...props }: FormInputProps) => import("react/jsx-runtime").JSX.Element;
14
- export default FormInput;
15
- //# sourceMappingURL=FormInput.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FormInput.d.ts","sourceRoot":"","sources":["../../../src/components/LDInput/FormInput.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAgB,EAAE,KAAK,YAAY,EAAa,MAAM,WAAW,CAAC;AAMlE,UAAU,cAAe,SAAQ,IAAI,CACnC,YAAY,EACZ,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CACnD;IACC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,QAAA,MAAM,SAAS,GAAI,sJAchB,cAAc,4CA6EhB,CAAC;AAEF,eAAe,SAAS,CAAC"}