@altruist03/ui 0.1.0 → 0.2.0

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 (207) hide show
  1. package/assets/images/noData.webp +0 -0
  2. package/dist/index.js +15237 -650
  3. package/dist/index.js.map +1 -1
  4. package/dist/noData-XPRHKMFR.webp +0 -0
  5. package/package.json +21 -7
  6. package/src/ThemeProvider/ThemeContext.tsx +75 -0
  7. package/src/ThemeProvider/index.ts +7 -0
  8. package/src/assets/images/noData.webp +0 -0
  9. package/src/assets.d.ts +10 -0
  10. package/src/components/Accordion/Accordion.stories.tsx +64 -0
  11. package/src/components/Accordion/Accordion.tsx +219 -0
  12. package/src/components/Accordion/Accordion.types.ts +16 -0
  13. package/src/components/Avatar/Avatar.stories.tsx +304 -0
  14. package/src/components/Avatar/Avatar.tsx +211 -0
  15. package/src/components/Avatar/Avatar.types.ts +33 -0
  16. package/src/components/Badge/Badge.stories.tsx +143 -0
  17. package/src/components/Badge/Badge.tsx +138 -0
  18. package/src/components/Badge/Badge.types.ts +24 -0
  19. package/src/components/Breadcrumb/Breadcrumb.stories.tsx +114 -0
  20. package/src/components/Breadcrumb/Breadcrumb.tsx +120 -0
  21. package/src/components/Breadcrumb/Breadcrumb.types.ts +22 -0
  22. package/src/components/Button/Button.stories.tsx +457 -0
  23. package/src/components/Button/Button.tsx +202 -0
  24. package/src/components/Button/Button.types.ts +18 -0
  25. package/src/components/Checkbox/Checkbox.stories.tsx +254 -0
  26. package/src/components/Checkbox/Checkbox.tsx +352 -0
  27. package/src/components/Checkbox/Checkbox.types.ts +123 -0
  28. package/src/components/CloseButton/CloseButton.stories.tsx +100 -0
  29. package/src/components/CloseButton/CloseButton.tsx +117 -0
  30. package/src/components/CloseButton/CloseButton.types.ts +15 -0
  31. package/src/components/CollapsibleSearch/CollapsibleSearch.tsx +120 -0
  32. package/src/components/DataTable/DataTable.stories.tsx +233 -0
  33. package/src/components/DataTable/DataTable.tsx +968 -0
  34. package/src/components/DataTable/DataTable.types.ts +49 -0
  35. package/src/components/DatePicker/DatePicker.stories.tsx +341 -0
  36. package/src/components/DatePicker/DatePicker.tsx +669 -0
  37. package/src/components/DatePicker/DatePicker.types.ts +105 -0
  38. package/src/components/DatePicker/DateTimePicker.tsx +35 -0
  39. package/src/components/DateRangePicker/DateRangePicker.tsx +179 -0
  40. package/src/components/DateRangePicker/DateRangePicker.types.ts +34 -0
  41. package/src/components/Drawer/Drawer.stories.tsx +243 -0
  42. package/src/components/Drawer/Drawer.tsx +196 -0
  43. package/src/components/Drawer/Drawer.types.ts +60 -0
  44. package/src/components/FileUpload/FileUpload.stories.tsx +162 -0
  45. package/src/components/FileUpload/FileUpload.tsx +216 -0
  46. package/src/components/FileUpload/FileUpload.types.ts +80 -0
  47. package/src/components/FilterPopover/FilterPopover.stories.tsx +173 -0
  48. package/src/components/FilterPopover/FilterPopover.tsx +310 -0
  49. package/src/components/FilterPopover/FilterPopover.types.ts +26 -0
  50. package/src/components/ImageViewer/ImageViewerToolbar.jsx +81 -0
  51. package/src/components/ImageViewer/useImagePanRotate.js +102 -0
  52. package/src/components/IpWhitelistField/IpWhitelistField.stories.tsx +138 -0
  53. package/src/components/IpWhitelistField/IpWhitelistField.tsx +164 -0
  54. package/src/components/IpWhitelistField/IpWhitelistField.types.ts +42 -0
  55. package/src/components/Loader/Loader.stories.tsx +95 -0
  56. package/src/components/Loader/Loader.tsx +132 -0
  57. package/src/components/Loader/Loader.types.ts +6 -0
  58. package/src/components/Menu/Menu.tsx +143 -0
  59. package/src/components/Menu/Menu.types.ts +28 -0
  60. package/src/components/MenuButton/MenuButton.stories.tsx +140 -0
  61. package/src/components/MenuButton/MenuButton.tsx +45 -0
  62. package/src/components/MenuButton/MenuButton.types.ts +21 -0
  63. package/src/components/Modal/Modal.stories.tsx +266 -0
  64. package/src/components/Modal/Modal.tsx +399 -0
  65. package/src/components/Modal/index.ts +2 -0
  66. package/src/components/Modal/types.ts +126 -0
  67. package/src/components/Pagination/Pagination.stories.tsx +167 -0
  68. package/src/components/Pagination/Pagination.tsx +266 -0
  69. package/src/components/Pagination/Pagination.types.ts +20 -0
  70. package/src/components/PeriodSelector/PeriodSelector.stories.tsx +50 -0
  71. package/src/components/PeriodSelector/PeriodSelector.tsx +47 -0
  72. package/src/components/PeriodSelector/PeriodSelector.types.ts +10 -0
  73. package/src/components/PhoneField/PhoneField.stories.tsx +141 -0
  74. package/src/components/PhoneField/PhoneField.tsx +284 -0
  75. package/src/components/PhoneField/PhoneField.types.ts +89 -0
  76. package/src/components/PhoneField/countryCodes.ts +236 -0
  77. package/src/components/Progress/Progress.stories.tsx +83 -0
  78. package/src/components/Progress/Progress.tsx +91 -0
  79. package/src/components/Progress/Progress.types.ts +22 -0
  80. package/src/components/RadioButton/RadioButton.stories.tsx +332 -0
  81. package/src/components/RadioButton/RadioButton.tsx +427 -0
  82. package/src/components/RadioButton/RadioButton.types.ts +117 -0
  83. package/src/components/ReportCard/ReportCard.tsx +183 -0
  84. package/src/components/ReportCard/ReportCard.types.ts +17 -0
  85. package/src/components/SectionIcon/SectionIcon.tsx +87 -0
  86. package/src/components/SectionIcon/SectionIcon.types.ts +23 -0
  87. package/src/components/SegmentedInputField/SegmentedInputField.stories.tsx +165 -0
  88. package/src/components/SegmentedInputField/SegmentedInputField.tsx +174 -0
  89. package/src/components/SegmentedInputField/SegmentedInputField.types.ts +51 -0
  90. package/src/components/SelectScroll/SelectScroll.stories.tsx +336 -0
  91. package/src/components/SelectScroll/SelectScroll.tsx +1119 -0
  92. package/src/components/SelectScroll/SelectScroll.types.ts +60 -0
  93. package/src/components/Selector/Selector.stories.tsx +382 -0
  94. package/src/components/Selector/Selector.tsx +1310 -0
  95. package/src/components/Selector/Selector.types.ts +71 -0
  96. package/src/components/Skeleton/Skeleton.stories.tsx +133 -0
  97. package/src/components/Skeleton/Skeleton.tsx +20 -0
  98. package/src/components/Skeleton/Skeleton.types.ts +3 -0
  99. package/src/components/Spinner/Spinner.stories.tsx +84 -0
  100. package/src/components/Spinner/Spinner.tsx +79 -0
  101. package/src/components/Spinner/Spinner.types.ts +8 -0
  102. package/src/components/StatCard/StatCard.stories.tsx +125 -0
  103. package/src/components/StatCard/StatCard.tsx +167 -0
  104. package/src/components/StatCard/StatCard.types.ts +20 -0
  105. package/src/components/StatusBadge/StatusBadge.stories.tsx +179 -0
  106. package/src/components/StatusBadge/StatusBadge.tsx +74 -0
  107. package/src/components/StatusBadge/StatusBadge.types.ts +23 -0
  108. package/src/components/Stepper/Stepper.stories.tsx +85 -0
  109. package/src/components/Stepper/Stepper.tsx +138 -0
  110. package/src/components/Stepper/Stepper.types.ts +16 -0
  111. package/src/components/SubTabs/SubTabs.stories.tsx +128 -0
  112. package/src/components/SubTabs/SubTabs.tsx +279 -0
  113. package/src/components/SubTabs/SubTabs.types.ts +44 -0
  114. package/src/components/SummaryCard/SummaryCard.stories.tsx +100 -0
  115. package/src/components/SummaryCard/SummaryCard.tsx +141 -0
  116. package/src/components/SummaryCard/SummaryCard.types.ts +22 -0
  117. package/src/components/Switch/Switch.stories.tsx +59 -0
  118. package/src/components/Switch/Switch.tsx +217 -0
  119. package/src/components/Switch/Switch.types.ts +22 -0
  120. package/src/components/Tabs/Tabs.stories.tsx +178 -0
  121. package/src/components/Tabs/Tabs.tsx +197 -0
  122. package/src/components/Tabs/Tabs.types.ts +34 -0
  123. package/src/components/TextField/TextField.stories.tsx +249 -0
  124. package/src/components/TextField/TextField.tsx +462 -0
  125. package/src/components/TextField/TextField.types.ts +141 -0
  126. package/src/components/Toast/Toast.stories.tsx +237 -0
  127. package/src/components/Toast/Toast.tsx +246 -0
  128. package/src/components/Toast/Toast.types.ts +31 -0
  129. package/src/components/ToggleButton/ToggleButton.stories.tsx +105 -0
  130. package/src/components/ToggleButton/ToggleButton.tsx +267 -0
  131. package/src/components/ToggleButton/ToggleButton.types.ts +19 -0
  132. package/src/components/UploadDropzone/UploadDropzone.jsx +78 -0
  133. package/src/components/UploadDropzone2/UploadDropzone.stories.tsx +94 -0
  134. package/src/components/UploadDropzone2/UploadDropzone.tsx +222 -0
  135. package/src/components/UploadDropzone2/UploadDropzone.types.ts +54 -0
  136. package/src/components/ViewEditToggle/ViewEditToggle.stories.tsx +40 -0
  137. package/src/components/ViewEditToggle/ViewEditToggle.tsx +239 -0
  138. package/src/components/ViewEditToggle/ViewEditToggle.types.ts +27 -0
  139. package/src/components/index.ts +157 -0
  140. package/src/icons/ReportDollarIcon.tsx +71 -0
  141. package/src/icons/index.ts +27 -0
  142. package/src/index.ts +214 -0
  143. package/src/storybook/preview.tsx +64 -0
  144. package/src/theme/index.ts +4 -0
  145. package/src/theme/types.d.ts +1 -0
  146. package/src/themes/cpc.ts +4 -0
  147. package/src/themes/firebird.ts +4 -0
  148. package/src/tokens/brands/cpc/themes/dark.json +82 -0
  149. package/src/tokens/brands/cpc/themes/light.json +1 -0
  150. package/src/tokens/brands/default/brand.json +20 -0
  151. package/src/tokens/brands/firebird/themes/dark.json +28 -0
  152. package/src/tokens/brands/firebird/themes/light.json +20 -0
  153. package/src/tokens/button.ts +24 -0
  154. package/src/tokens/components/accordion.json +52 -0
  155. package/src/tokens/components/avatar.json +40 -0
  156. package/src/tokens/components/badge.json +41 -0
  157. package/src/tokens/components/breadcrumb.json +13 -0
  158. package/src/tokens/components/button.json +67 -0
  159. package/src/tokens/components/card.json +39 -0
  160. package/src/tokens/components/checkbox.json +64 -0
  161. package/src/tokens/components/closebutton.json +55 -0
  162. package/src/tokens/components/datatable.json +40 -0
  163. package/src/tokens/components/datepicker.json +99 -0
  164. package/src/tokens/components/drawer.json +23 -0
  165. package/src/tokens/components/field.json +29 -0
  166. package/src/tokens/components/fileupload.json +57 -0
  167. package/src/tokens/components/filterpopover.json +29 -0
  168. package/src/tokens/components/input.json +31 -0
  169. package/src/tokens/components/ipwhitelistfield.json +16 -0
  170. package/src/tokens/components/loader.json +15 -0
  171. package/src/tokens/components/menu.json +21 -0
  172. package/src/tokens/components/modal.json +25 -0
  173. package/src/tokens/components/pagination.json +45 -0
  174. package/src/tokens/components/phonefield.json +41 -0
  175. package/src/tokens/components/progress.json +12 -0
  176. package/src/tokens/components/radio.json +87 -0
  177. package/src/tokens/components/reportcard.json +17 -0
  178. package/src/tokens/components/selector.json +87 -0
  179. package/src/tokens/components/selectscroll.json +65 -0
  180. package/src/tokens/components/skeleton.json +6 -0
  181. package/src/tokens/components/stepper.json +38 -0
  182. package/src/tokens/components/subtabs.json +45 -0
  183. package/src/tokens/components/switch.json +55 -0
  184. package/src/tokens/components/tabs.json +38 -0
  185. package/src/tokens/components/textfield.json +59 -0
  186. package/src/tokens/components/togglebutton.json +48 -0
  187. package/src/tokens/components/uploaddropzone.json +61 -0
  188. package/src/tokens/drawer.ts +37 -0
  189. package/src/tokens/foundation/breakpoints.json +10 -0
  190. package/src/tokens/foundation/colors.json +122 -0
  191. package/src/tokens/foundation/opacity.json +16 -0
  192. package/src/tokens/foundation/radius.json +14 -0
  193. package/src/tokens/foundation/size.json +38 -0
  194. package/src/tokens/foundation/spacing.json +19 -0
  195. package/src/tokens/foundation/typography.json +43 -0
  196. package/src/tokens/index.ts +3665 -0
  197. package/src/tokens/modal.ts +42 -0
  198. package/src/tokens/semantic/color.json +148 -0
  199. package/src/tokens/semantic/field.json +28 -0
  200. package/src/tokens/semantic/opacity.json +5 -0
  201. package/src/tokens/semantic/size.json +722 -0
  202. package/src/tokens/semantic/spacing.json +27 -0
  203. package/src/tokens/semantic/typography.json +87 -0
  204. package/src/utils/scrollLock.ts +44 -0
  205. package/dist/index.css +0 -514
  206. package/dist/index.css.map +0 -1
  207. package/dist/index.d.ts +0 -289
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/styles.css"],"sourcesContent":[":root {\n --al-color-primary: #0b6b4f;\n --al-color-primary-hover: #095c44;\n --al-color-on-primary: #ffffff;\n --al-color-secondary: #1f2937;\n --al-color-on-secondary: #ffffff;\n --al-color-danger: #b42318;\n --al-color-success: #067647;\n --al-color-warning: #b54708;\n --al-color-text: #1c2430;\n --al-color-text-muted: #5c6778;\n --al-color-surface: #ffffff;\n --al-color-surface-muted: #f5f7fa;\n --al-color-border: #d8dee8;\n --al-color-focus: #0b6b4f;\n --al-font-family: \"Segoe UI\", \"Noto Sans\", sans-serif;\n --al-font-size-xs: 12px;\n --al-font-size-sm: 13px;\n --al-font-size-md: 14px;\n --al-font-size-lg: 16px;\n --al-radius-sm: 6px;\n --al-radius-md: 8px;\n --al-radius-lg: 12px;\n --al-space-sm: 8px;\n --al-space-md: 12px;\n --al-space-lg: 16px;\n}\n\n.al-btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n box-sizing: border-box;\n height: 36px;\n padding: 0 14px;\n border-radius: var(--al-radius-md);\n border: 1px solid transparent;\n background: var(--al-btn-bg, var(--al-color-primary));\n color: var(--al-btn-fg, var(--al-color-on-primary));\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-md);\n font-weight: 600;\n line-height: 1;\n cursor: pointer;\n transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n}\n\n.al-btn[data-size='sm'] {\n height: 30px;\n padding: 0 10px;\n font-size: var(--al-font-size-sm);\n}\n\n.al-btn[data-size='lg'] {\n height: 42px;\n padding: 0 18px;\n font-size: var(--al-font-size-lg);\n}\n\n.al-btn[data-full-width='true'] {\n width: 100%;\n}\n\n.al-btn[data-variant='outline'],\n.al-btn[data-variant='ghost'] {\n color: var(--al-btn-bg, var(--al-color-primary));\n background: transparent;\n}\n\n.al-btn[data-variant='outline'] {\n border-color: var(--al-btn-bg, var(--al-color-primary));\n}\n\n.al-btn[data-variant='solid']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 86%, #000);\n}\n\n.al-btn[data-variant='outline']:hover:not(:disabled) {\n background: color-mix(in srgb, var(--al-btn-bg, var(--al-color-primary)) 12%, transparent);\n}\n\n.al-btn[data-variant='ghost']:hover:not(:disabled) {\n background: var(--al-color-surface-muted);\n}\n\n.al-btn:focus-visible,\n.al-control:focus-visible,\n.al-checkbox-input:focus-visible {\n outline: 2px solid var(--al-color-focus);\n outline-offset: 2px;\n}\n\n.al-btn:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n}\n\n.al-spinner {\n width: 1em;\n height: 1em;\n border: 2px solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: al-spin 0.6s linear infinite;\n}\n\n@keyframes al-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .al-spinner {\n animation: none;\n }\n}\n\n.al-field,\n.al-checkbox-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n min-width: 0;\n font-family: var(--al-font-family);\n color: var(--al-color-text);\n}\n\n.al-field-label,\n.al-checkbox-label {\n font-size: var(--al-font-size-sm);\n font-weight: 600;\n color: var(--al-color-text);\n}\n\n.al-field-required {\n margin-left: 2px;\n color: var(--al-color-danger);\n}\n\n.al-control-wrap {\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.al-control {\n box-sizing: border-box;\n width: 100%;\n height: 36px;\n padding: 0 12px;\n border: 1px solid var(--al-control-border, var(--al-color-border));\n border-radius: var(--al-radius-md);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n font-family: inherit;\n font-size: var(--al-font-size-md);\n}\n\n.al-control[data-size='sm'] {\n height: 30px;\n font-size: var(--al-font-size-sm);\n}\n\n.al-control[data-size='lg'] {\n height: 42px;\n font-size: var(--al-font-size-lg);\n}\n\n.al-control::placeholder {\n color: var(--al-color-text-muted);\n}\n\n.al-control:focus {\n border-color: var(--al-control-accent, var(--al-color-focus));\n}\n\n.al-control[aria-invalid='true'] {\n border-color: var(--al-color-danger);\n}\n\n.al-control:disabled {\n background: var(--al-color-surface-muted);\n color: var(--al-color-text-muted);\n cursor: not-allowed;\n}\n\n.has-left .al-control {\n padding-left: 36px;\n}\n\n.has-right .al-control {\n padding-right: 36px;\n}\n\n.al-control-icon {\n position: absolute;\n display: inline-flex;\n color: var(--al-color-text-muted);\n}\n\n.al-control-icon.left {\n left: 10px;\n}\n\n.al-control-icon.right {\n right: 8px;\n}\n\n.al-textarea {\n height: auto;\n min-height: 96px;\n padding: 10px 12px;\n resize: vertical;\n line-height: 1.45;\n}\n\n.al-select {\n appearance: none;\n padding-right: 32px;\n background-image:\n linear-gradient(45deg, transparent 50%, var(--al-color-text-muted) 50%),\n linear-gradient(135deg, var(--al-color-text-muted) 50%, transparent 50%);\n background-position:\n calc(100% - 16px) calc(50% - 2px),\n calc(100% - 11px) calc(50% - 2px);\n background-size: 5px 5px, 5px 5px;\n background-repeat: no-repeat;\n}\n\n.al-field-helper,\n.al-field-error,\n.al-checkbox-description {\n margin: 0;\n font-size: var(--al-font-size-xs);\n line-height: 1.4;\n}\n\n.al-field-helper,\n.al-checkbox-description {\n color: var(--al-color-text-muted);\n}\n\n.al-field-error {\n color: var(--al-color-danger);\n}\n\n.al-checkbox {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n cursor: pointer;\n}\n\n.al-checkbox-input {\n width: 16px;\n height: 16px;\n margin-top: 2px;\n accent-color: var(--al-color-primary);\n}\n\n.al-checkbox-copy {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.al-card {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 14px;\n background: var(--al-color-surface);\n color: var(--al-color-text);\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n font-family: var(--al-font-family);\n}\n\n.al-card[data-padding='sm'] {\n padding: var(--al-space-sm);\n}\n\n.al-card[data-padding='md'] {\n padding: var(--al-space-lg);\n}\n\n.al-card[data-padding='lg'] {\n padding: 24px;\n}\n\n.al-card-header {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.al-card-title {\n margin: 0;\n font-size: var(--al-font-size-lg);\n line-height: 1.3;\n}\n\n.al-card-description {\n margin: 0;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-sm);\n line-height: 1.45;\n}\n\n.al-card-footer {\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n}\n\n.al-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n height: 22px;\n padding: 0 8px;\n border-radius: 999px;\n background: color-mix(in srgb, var(--al-badge-color, var(--al-color-primary)) 14%, var(--al-color-surface));\n color: var(--al-badge-color, var(--al-color-primary));\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-xs);\n font-weight: 700;\n line-height: 1;\n white-space: nowrap;\n}\n\n.al-badge[data-variant='solid'] {\n background: var(--al-badge-color, var(--al-color-primary));\n color: #fff;\n}\n\n.al-table-wrap {\n width: 100%;\n overflow-x: auto;\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n}\n\n.al-table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--al-font-family);\n font-size: var(--al-font-size-md);\n color: var(--al-color-text);\n}\n\n.al-table th,\n.al-table td {\n padding: 10px 12px;\n text-align: left;\n border-bottom: 1px solid var(--al-color-border);\n vertical-align: middle;\n}\n\n.al-table th {\n background: var(--al-color-surface-muted);\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n font-weight: 700;\n letter-spacing: 0.04em;\n text-transform: uppercase;\n}\n\n.al-table tbody tr:last-child td {\n border-bottom: 0;\n}\n\n.al-table[data-striped='true'] tbody tr:nth-child(even) td {\n background: color-mix(in srgb, var(--al-color-surface-muted) 70%, var(--al-color-surface));\n}\n\n.al-table tbody tr:hover td {\n background: color-mix(in srgb, var(--al-color-primary) 8%, var(--al-color-surface));\n}\n\n.al-table[data-size='sm'] th,\n.al-table[data-size='sm'] td {\n padding: 6px 10px;\n}\n\n.al-table[data-size='lg'] th,\n.al-table[data-size='lg'] td {\n padding: 14px 16px;\n}\n\n.al-table-empty {\n padding: 28px 12px;\n color: var(--al-color-text-muted);\n text-align: center;\n}\n\n.al-table-caption {\n caption-side: bottom;\n padding: 8px 12px 10px;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n text-align: left;\n}\n\n/* @altruist component:Accordion */\n.accordion {\n border: 1px solid var(--al-color-border);\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n font-family: var(--al-font-family);\n overflow: hidden;\n}\n\n.accordion-item + .accordion-item {\n border-top: 1px solid var(--al-color-border);\n}\n\n.accordion-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n width: 100%;\n padding: 12px 14px;\n border: 0;\n background: transparent;\n color: inherit;\n font: inherit;\n font-weight: 600;\n text-align: left;\n cursor: pointer;\n}\n\n.accordion-trigger:hover {\n background: var(--al-color-surface-muted);\n}\n\n.accordion-trigger:focus-visible {\n outline: 2px solid var(--al-color-focus);\n outline-offset: -2px;\n}\n\n.accordion-chevron {\n width: 8px;\n height: 8px;\n border-right: 2px solid currentColor;\n border-bottom: 2px solid currentColor;\n transform: rotate(45deg);\n}\n\n.accordion-chevron[data-open='true'] {\n transform: rotate(225deg);\n}\n\n.accordion-panel {\n padding: 0 14px 14px;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-sm);\n line-height: 1.5;\n}\n/* @altruist end:Accordion */\n\n.al-float {\n position: relative;\n}\n\n.al-float-input {\n height: 52px;\n padding: 18px 12px 6px;\n}\n\n.al-float[data-size='sm'] .al-float-input {\n height: 44px;\n padding-top: 16px;\n}\n\n.al-float[data-size='lg'] .al-float-input {\n height: 58px;\n}\n\n.al-float-input::placeholder {\n color: transparent;\n}\n\n.al-float:focus-within .al-float-input::placeholder {\n color: var(--al-color-text-muted);\n}\n\n.al-float-label {\n position: absolute;\n left: 12px;\n top: 16px;\n max-width: calc(100% - 24px);\n overflow: hidden;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-md);\n line-height: 1.2;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n transition: top 0.15s ease, font-size 0.15s ease, color 0.15s ease;\n}\n\n.al-float[data-filled='true'] .al-float-label,\n.al-float:focus-within .al-float-label {\n top: 7px;\n color: var(--al-control-accent, var(--al-color-primary));\n font-size: 11px;\n font-weight: 600;\n}\n\n.al-float[data-invalid='true'] .al-float-label {\n color: var(--al-color-danger);\n}\n\n.al-file {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 16px;\n min-height: 84px;\n padding: 14px 16px;\n border: 1px dashed var(--al-control-border, var(--al-color-border));\n border-radius: var(--al-radius-lg);\n background: var(--al-color-surface);\n color: var(--al-color-text);\n cursor: pointer;\n}\n\n.al-file:hover,\n.al-file.is-dragging,\n.al-file:focus-within {\n border-style: solid;\n border-color: var(--al-control-accent, var(--al-color-primary));\n background: color-mix(in srgb, var(--al-color-primary) 6%, var(--al-color-surface));\n}\n\n.al-file[data-invalid='true'] {\n border-color: var(--al-color-danger);\n}\n\n.al-file-input {\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.al-file-copy {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n\n.al-file-title {\n font-weight: 600;\n}\n\n.al-file-names {\n overflow: hidden;\n color: var(--al-color-text-muted);\n font-size: var(--al-font-size-xs);\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.al-file-button {\n flex: none;\n height: 32px;\n padding: 0 12px;\n border-radius: var(--al-radius-md);\n background: var(--al-color-primary);\n color: var(--al-color-on-primary);\n font-size: var(--al-font-size-sm);\n font-weight: 600;\n line-height: 32px;\n}\n"],"mappings":"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","names":[]}
package/dist/index.d.ts DELETED
@@ -1,289 +0,0 @@
1
- import * as react from 'react';
2
- import { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, SelectHTMLAttributes, CSSProperties, TextareaHTMLAttributes } from 'react';
3
-
4
- type AltruistTheme = {
5
- colors: {
6
- primary: string;
7
- primaryHover: string;
8
- onPrimary: string;
9
- secondary: string;
10
- onSecondary: string;
11
- danger: string;
12
- success: string;
13
- warning: string;
14
- text: string;
15
- textMuted: string;
16
- surface: string;
17
- surfaceMuted: string;
18
- border: string;
19
- focus: string;
20
- };
21
- fontFamily: string;
22
- fontSize: {
23
- xs: string;
24
- sm: string;
25
- md: string;
26
- lg: string;
27
- };
28
- radius: {
29
- sm: string;
30
- md: string;
31
- lg: string;
32
- };
33
- spacing: {
34
- sm: string;
35
- md: string;
36
- lg: string;
37
- };
38
- };
39
- type ThemeOverride = {
40
- colors?: Partial<AltruistTheme['colors']>;
41
- fontFamily?: string;
42
- fontSize?: Partial<AltruistTheme['fontSize']>;
43
- radius?: Partial<AltruistTheme['radius']>;
44
- spacing?: Partial<AltruistTheme['spacing']>;
45
- };
46
- type ColorProp = 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'text' | 'textMuted' | 'border' | 'surface' | (string & {});
47
- type FontSizeProp = 'xs' | 'sm' | 'md' | 'lg' | number | (string & {});
48
- type ControlSize = 'sm' | 'md' | 'lg';
49
-
50
- type BadgeProps = HTMLAttributes<HTMLSpanElement> & {
51
- color?: ColorProp;
52
- variant?: 'soft' | 'solid';
53
- fontSize?: FontSizeProp;
54
- fontFamily?: string;
55
- children: ReactNode;
56
- };
57
- declare function Badge({ color, variant, fontSize, fontFamily, className, style, children, ...rest }: BadgeProps): react.JSX.Element;
58
-
59
- type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & {
60
- variant?: 'solid' | 'outline' | 'ghost';
61
- color?: ColorProp;
62
- textColor?: ColorProp;
63
- size?: ControlSize;
64
- fontSize?: FontSizeProp;
65
- fontFamily?: string;
66
- fullWidth?: boolean;
67
- loading?: boolean;
68
- leftIcon?: ReactNode;
69
- rightIcon?: ReactNode;
70
- };
71
- declare const Button: react.ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & {
72
- variant?: "solid" | "outline" | "ghost";
73
- color?: ColorProp;
74
- textColor?: ColorProp;
75
- size?: ControlSize;
76
- fontSize?: FontSizeProp;
77
- fontFamily?: string;
78
- fullWidth?: boolean;
79
- loading?: boolean;
80
- leftIcon?: ReactNode;
81
- rightIcon?: ReactNode;
82
- } & react.RefAttributes<HTMLButtonElement>>;
83
-
84
- type CardProps = HTMLAttributes<HTMLElement> & {
85
- title?: ReactNode;
86
- description?: ReactNode;
87
- footer?: ReactNode;
88
- padding?: 'sm' | 'md' | 'lg';
89
- fontSize?: FontSizeProp;
90
- fontFamily?: string;
91
- };
92
- declare function Card({ title, description, footer, padding, fontSize, fontFamily, className, style, children, ...rest }: CardProps): react.JSX.Element;
93
-
94
- type CheckboxProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> & {
95
- label?: ReactNode;
96
- description?: ReactNode;
97
- error?: ReactNode;
98
- fontSize?: FontSizeProp;
99
- fontFamily?: string;
100
- color?: ColorProp;
101
- };
102
- declare const Checkbox: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
103
- label?: ReactNode;
104
- description?: ReactNode;
105
- error?: ReactNode;
106
- fontSize?: FontSizeProp;
107
- fontFamily?: string;
108
- color?: ColorProp;
109
- } & react.RefAttributes<HTMLInputElement>>;
110
-
111
- type FieldProps = {
112
- id: string;
113
- label?: ReactNode;
114
- required?: boolean;
115
- helperText?: ReactNode;
116
- error?: ReactNode;
117
- messageId?: string;
118
- fontFamily?: string;
119
- children: ReactNode;
120
- className?: string;
121
- };
122
- declare function Field({ id, label, required, helperText, error, messageId, fontFamily, children, className, }: FieldProps): react.JSX.Element;
123
-
124
- type FileInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> & {
125
- label?: ReactNode;
126
- helperText?: ReactNode;
127
- error?: ReactNode;
128
- emptyText?: ReactNode;
129
- buttonLabel?: string;
130
- fontSize?: FontSizeProp;
131
- fontFamily?: string;
132
- color?: ColorProp;
133
- };
134
- declare const FileInput: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
135
- label?: ReactNode;
136
- helperText?: ReactNode;
137
- error?: ReactNode;
138
- emptyText?: ReactNode;
139
- buttonLabel?: string;
140
- fontSize?: FontSizeProp;
141
- fontFamily?: string;
142
- color?: ColorProp;
143
- } & react.RefAttributes<HTMLInputElement>>;
144
-
145
- type FloatingInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'placeholder'> & {
146
- label: ReactNode;
147
- placeholder?: string;
148
- helperText?: ReactNode;
149
- error?: ReactNode;
150
- size?: ControlSize;
151
- fontSize?: FontSizeProp;
152
- fontFamily?: string;
153
- color?: ColorProp;
154
- };
155
- declare const FloatingInput: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "placeholder"> & {
156
- label: ReactNode;
157
- placeholder?: string;
158
- helperText?: ReactNode;
159
- error?: ReactNode;
160
- size?: ControlSize;
161
- fontSize?: FontSizeProp;
162
- fontFamily?: string;
163
- color?: ColorProp;
164
- } & react.RefAttributes<HTMLInputElement>>;
165
-
166
- type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> & {
167
- label?: ReactNode;
168
- helperText?: ReactNode;
169
- error?: ReactNode;
170
- size?: ControlSize;
171
- fontSize?: FontSizeProp;
172
- fontFamily?: string;
173
- color?: ColorProp;
174
- leftIcon?: ReactNode;
175
- rightIcon?: ReactNode;
176
- };
177
- declare const Input: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size"> & {
178
- label?: ReactNode;
179
- helperText?: ReactNode;
180
- error?: ReactNode;
181
- size?: ControlSize;
182
- fontSize?: FontSizeProp;
183
- fontFamily?: string;
184
- color?: ColorProp;
185
- leftIcon?: ReactNode;
186
- rightIcon?: ReactNode;
187
- } & react.RefAttributes<HTMLInputElement>>;
188
-
189
- type SelectOption = {
190
- label: string;
191
- value: string;
192
- disabled?: boolean;
193
- };
194
- type SelectProps = Omit<SelectHTMLAttributes<HTMLSelectElement>, 'size'> & {
195
- label?: ReactNode;
196
- helperText?: ReactNode;
197
- error?: ReactNode;
198
- placeholder?: string;
199
- options: SelectOption[];
200
- size?: ControlSize;
201
- fontSize?: FontSizeProp;
202
- fontFamily?: string;
203
- color?: ColorProp;
204
- };
205
- declare const Select: react.ForwardRefExoticComponent<Omit<SelectHTMLAttributes<HTMLSelectElement>, "size"> & {
206
- label?: ReactNode;
207
- helperText?: ReactNode;
208
- error?: ReactNode;
209
- placeholder?: string;
210
- options: SelectOption[];
211
- size?: ControlSize;
212
- fontSize?: FontSizeProp;
213
- fontFamily?: string;
214
- color?: ColorProp;
215
- } & react.RefAttributes<HTMLSelectElement>>;
216
-
217
- type TableColumn<Row> = {
218
- key: string;
219
- header: ReactNode;
220
- align?: 'left' | 'center' | 'right';
221
- width?: string | number;
222
- render?: (row: Row) => ReactNode;
223
- };
224
- type TableProps<Row> = {
225
- columns: Array<TableColumn<Row>>;
226
- rows: Row[];
227
- getRowKey: (row: Row, index: number) => string;
228
- caption?: ReactNode;
229
- emptyLabel?: ReactNode;
230
- size?: ControlSize;
231
- striped?: boolean;
232
- fontSize?: FontSizeProp;
233
- fontFamily?: string;
234
- className?: string;
235
- style?: CSSProperties;
236
- };
237
- declare function Table<Row>({ columns, rows, getRowKey, caption, emptyLabel, size, striped, fontSize, fontFamily, className, style, }: TableProps<Row>): react.JSX.Element;
238
-
239
- type TextareaProps = TextareaHTMLAttributes<HTMLTextAreaElement> & {
240
- label?: ReactNode;
241
- helperText?: ReactNode;
242
- error?: ReactNode;
243
- fontSize?: FontSizeProp;
244
- fontFamily?: string;
245
- color?: ColorProp;
246
- };
247
- declare const Textarea: react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & {
248
- label?: ReactNode;
249
- helperText?: ReactNode;
250
- error?: ReactNode;
251
- fontSize?: FontSizeProp;
252
- fontFamily?: string;
253
- color?: ColorProp;
254
- } & react.RefAttributes<HTMLTextAreaElement>>;
255
-
256
- type AccordionItem = {
257
- id: string;
258
- title: ReactNode;
259
- content: ReactNode;
260
- };
261
- type AccordionProps = {
262
- items: AccordionItem[];
263
- allowMultiple?: boolean;
264
- defaultOpenIds?: string[];
265
- color?: ColorProp;
266
- fontSize?: FontSizeProp;
267
- fontFamily?: string;
268
- className?: string;
269
- style?: CSSProperties;
270
- };
271
- declare function Accordion({ items, allowMultiple, defaultOpenIds, color, fontSize, fontFamily, className, style, }: AccordionProps): react.JSX.Element;
272
-
273
- declare function themeToCssVars(theme: AltruistTheme): CSSProperties;
274
-
275
- declare const altruistTheme: AltruistTheme;
276
-
277
- declare const indigoTheme: ThemeOverride;
278
- declare const darkTheme: ThemeOverride;
279
- declare function mergeTheme(base?: AltruistTheme, override?: ThemeOverride): AltruistTheme;
280
-
281
- type ThemeProviderProps = {
282
- theme?: ThemeOverride;
283
- children: ReactNode;
284
- className?: string;
285
- style?: CSSProperties;
286
- };
287
- declare function ThemeProvider({ theme, children, className, style }: ThemeProviderProps): react.JSX.Element;
288
-
289
- export { Accordion, type AccordionItem, type AccordionProps, type AltruistTheme, Badge, type BadgeProps, Button, type ButtonProps, Card, type CardProps, Checkbox, type CheckboxProps, type ColorProp, type ControlSize, Field, type FieldProps, FileInput, type FileInputProps, FloatingInput, type FloatingInputProps, type FontSizeProp, Input, type InputProps, Select, type SelectOption, type SelectProps, Table, type TableColumn, type TableProps, Textarea, type TextareaProps, type ThemeOverride, ThemeProvider, type ThemeProviderProps, altruistTheme, darkTheme, indigoTheme, mergeTheme, themeToCssVars };