@redsift/design-system 11.5.0 → 11.6.0-muiv5-alpha.1

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 (710) hide show
  1. package/_virtual/_rollupPluginBabelHelpers.js +133 -0
  2. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -0
  3. package/_virtual/jsx-runtime.js +4 -0
  4. package/_virtual/jsx-runtime.js.map +1 -0
  5. package/_virtual/react-jsx-runtime.development.js +4 -0
  6. package/_virtual/react-jsx-runtime.development.js.map +1 -0
  7. package/_virtual/react-jsx-runtime.production.min.js +4 -0
  8. package/_virtual/react-jsx-runtime.production.min.js.map +1 -0
  9. package/components/alert/Alert.d.ts +9 -0
  10. package/components/alert/Alert.js +117 -0
  11. package/components/alert/Alert.js.map +1 -0
  12. package/components/alert/intl/en-US.json.js +7 -0
  13. package/components/alert/intl/en-US.json.js.map +1 -0
  14. package/components/alert/intl/fr-FR.json.js +7 -0
  15. package/components/alert/intl/fr-FR.json.js.map +1 -0
  16. package/components/alert/intl/index.js +10 -0
  17. package/components/alert/intl/index.js.map +1 -0
  18. package/components/alert/styles.js +54 -0
  19. package/components/alert/styles.js.map +1 -0
  20. package/components/alert/types.d.ts +49 -0
  21. package/components/alert/types.js +20 -0
  22. package/components/alert/types.js.map +1 -0
  23. package/components/app-bar/AppBar.d.ts +9 -0
  24. package/components/app-bar/AppBar.js +95 -0
  25. package/components/app-bar/AppBar.js.map +1 -0
  26. package/components/app-bar/intl/en-US.json.js +9 -0
  27. package/components/app-bar/intl/en-US.json.js.map +1 -0
  28. package/components/app-bar/intl/fr-FR.json.js +9 -0
  29. package/components/app-bar/intl/fr-FR.json.js.map +1 -0
  30. package/components/app-bar/intl/index.js +10 -0
  31. package/components/app-bar/intl/index.js.map +1 -0
  32. package/components/app-bar/styles.js +139 -0
  33. package/components/app-bar/styles.js.map +1 -0
  34. package/components/app-bar/types.d.ts +31 -0
  35. package/components/app-container/AppContainer.d.ts +11 -0
  36. package/components/app-container/AppContainer.js +117 -0
  37. package/components/app-container/AppContainer.js.map +1 -0
  38. package/components/app-container/context.d.ts +6 -0
  39. package/components/app-container/context.js +6 -0
  40. package/components/app-container/context.js.map +1 -0
  41. package/components/app-container/styles.js +30 -0
  42. package/components/app-container/styles.js.map +1 -0
  43. package/components/app-container/types.d.ts +51 -0
  44. package/components/app-content/AppContent.d.ts +9 -0
  45. package/components/app-content/AppContent.js +42 -0
  46. package/components/app-content/AppContent.js.map +1 -0
  47. package/components/app-content/styles.js +54 -0
  48. package/components/app-content/styles.js.map +1 -0
  49. package/components/app-content/types.d.ts +19 -0
  50. package/components/app-side-panel/AppSidePanel.d.ts +9 -0
  51. package/components/app-side-panel/AppSidePanel.js +86 -0
  52. package/components/app-side-panel/AppSidePanel.js.map +1 -0
  53. package/components/app-side-panel/intl/en-US.json.js +9 -0
  54. package/components/app-side-panel/intl/en-US.json.js.map +1 -0
  55. package/components/app-side-panel/intl/fr-FR.json.js +9 -0
  56. package/components/app-side-panel/intl/fr-FR.json.js.map +1 -0
  57. package/components/app-side-panel/intl/index.js +10 -0
  58. package/components/app-side-panel/intl/index.js.map +1 -0
  59. package/components/app-side-panel/styles.js +183 -0
  60. package/components/app-side-panel/styles.js.map +1 -0
  61. package/components/app-side-panel/types.d.ts +39 -0
  62. package/components/app-side-panel/types.js +15 -0
  63. package/components/app-side-panel/types.js.map +1 -0
  64. package/components/app-side-panel/useAppSidePanel.d.ts +6 -0
  65. package/components/app-side-panel/useAppSidePanel.js +23 -0
  66. package/components/app-side-panel/useAppSidePanel.js.map +1 -0
  67. package/components/badge/Badge.d.ts +9 -0
  68. package/components/badge/Badge.js +44 -0
  69. package/components/badge/Badge.js.map +1 -0
  70. package/components/badge/styles.js +93 -0
  71. package/components/badge/styles.js.map +1 -0
  72. package/components/badge/types.d.ts +37 -0
  73. package/components/badge/types.js +14 -0
  74. package/components/badge/types.js.map +1 -0
  75. package/components/breadcrumb-item/BreadcrumbItem.d.ts +9 -0
  76. package/components/breadcrumb-item/BreadcrumbItem.js +47 -0
  77. package/components/breadcrumb-item/BreadcrumbItem.js.map +1 -0
  78. package/components/breadcrumb-item/styles.js +48 -0
  79. package/components/breadcrumb-item/styles.js.map +1 -0
  80. package/components/breadcrumb-item/types.d.ts +23 -0
  81. package/components/breadcrumbs/Breadcrumbs.d.ts +13 -0
  82. package/components/breadcrumbs/Breadcrumbs.js +61 -0
  83. package/components/breadcrumbs/Breadcrumbs.js.map +1 -0
  84. package/components/breadcrumbs/styles.js +38 -0
  85. package/components/breadcrumbs/styles.js.map +1 -0
  86. package/components/breadcrumbs/types.d.ts +19 -0
  87. package/components/button/Button.d.ts +13 -0
  88. package/components/button/Button.js +92 -0
  89. package/components/button/Button.js.map +1 -0
  90. package/components/button/styles.d.ts +20 -0
  91. package/components/button/styles.js +219 -0
  92. package/components/button/styles.js.map +1 -0
  93. package/components/button/types.d.ts +67 -0
  94. package/components/button/types.js +19 -0
  95. package/components/button/types.js.map +1 -0
  96. package/components/button-group/ButtonGroup.d.ts +9 -0
  97. package/components/button-group/ButtonGroup.js +67 -0
  98. package/components/button-group/ButtonGroup.js.map +1 -0
  99. package/components/button-group/styles.js +103 -0
  100. package/components/button-group/styles.js.map +1 -0
  101. package/components/button-group/types.d.ts +36 -0
  102. package/components/button-group/types.js +19 -0
  103. package/components/button-group/types.js.map +1 -0
  104. package/components/button-link/ButtonLink.d.ts +13 -0
  105. package/components/button-link/ButtonLink.js +85 -0
  106. package/components/button-link/ButtonLink.js.map +1 -0
  107. package/components/button-link/types.d.ts +18 -0
  108. package/components/card/Card.d.ts +13 -0
  109. package/components/card/Card.js +81 -0
  110. package/components/card/Card.js.map +1 -0
  111. package/components/card/intl/en-US.json.js +9 -0
  112. package/components/card/intl/en-US.json.js.map +1 -0
  113. package/components/card/intl/fr-FR.json.js +9 -0
  114. package/components/card/intl/fr-FR.json.js.map +1 -0
  115. package/components/card/intl/index.js +10 -0
  116. package/components/card/intl/index.js.map +1 -0
  117. package/components/card/styles.js +63 -0
  118. package/components/card/styles.js.map +1 -0
  119. package/components/card/types.d.ts +25 -0
  120. package/components/card-actions/CardActions.d.ts +9 -0
  121. package/components/card-actions/CardActions.js +33 -0
  122. package/components/card-actions/CardActions.js.map +1 -0
  123. package/components/card-actions/styles.js +15 -0
  124. package/components/card-actions/styles.js.map +1 -0
  125. package/components/card-actions/types.d.ts +11 -0
  126. package/components/card-body/CardBody.d.ts +9 -0
  127. package/components/card-body/CardBody.js +28 -0
  128. package/components/card-body/CardBody.js.map +1 -0
  129. package/components/card-body/styles.js +18 -0
  130. package/components/card-body/styles.js.map +1 -0
  131. package/components/card-body/types.d.ts +11 -0
  132. package/components/card-header/CardHeader.d.ts +9 -0
  133. package/components/card-header/CardHeader.js +56 -0
  134. package/components/card-header/CardHeader.js.map +1 -0
  135. package/components/card-header/styles.js +31 -0
  136. package/components/card-header/styles.js.map +1 -0
  137. package/components/card-header/types.d.ts +28 -0
  138. package/components/checkbox/Checkbox.d.ts +11 -0
  139. package/components/checkbox/Checkbox.js +135 -0
  140. package/components/checkbox/Checkbox.js.map +1 -0
  141. package/components/checkbox/styles.js +113 -0
  142. package/components/checkbox/styles.js.map +1 -0
  143. package/components/checkbox/types.d.ts +60 -0
  144. package/components/checkbox-group/CheckboxGroup.d.ts +10 -0
  145. package/components/checkbox-group/CheckboxGroup.js +101 -0
  146. package/components/checkbox-group/CheckboxGroup.js.map +1 -0
  147. package/components/checkbox-group/context.js +6 -0
  148. package/components/checkbox-group/context.js.map +1 -0
  149. package/components/checkbox-group/styles.js +78 -0
  150. package/components/checkbox-group/styles.js.map +1 -0
  151. package/components/checkbox-group/types.d.ts +72 -0
  152. package/components/checkbox-group/types.js +18 -0
  153. package/components/checkbox-group/types.js.map +1 -0
  154. package/components/conditional-wrapper/ConditionalWrapper.d.ts +6 -0
  155. package/components/conditional-wrapper/ConditionalWrapper.js +13 -0
  156. package/components/conditional-wrapper/ConditionalWrapper.js.map +1 -0
  157. package/components/conditional-wrapper/types.d.ts +10 -0
  158. package/components/detailed-card/DetailedCard.d.ts +15 -0
  159. package/components/detailed-card/DetailedCard.js +170 -0
  160. package/components/detailed-card/DetailedCard.js.map +1 -0
  161. package/components/detailed-card/intl/en-US.json.js +7 -0
  162. package/components/detailed-card/intl/en-US.json.js.map +1 -0
  163. package/components/detailed-card/intl/fr-FR.json.js +7 -0
  164. package/components/detailed-card/intl/fr-FR.json.js.map +1 -0
  165. package/components/detailed-card/intl/index.js +10 -0
  166. package/components/detailed-card/intl/index.js.map +1 -0
  167. package/components/detailed-card/styles.js +49 -0
  168. package/components/detailed-card/styles.js.map +1 -0
  169. package/components/detailed-card/types.d.ts +40 -0
  170. package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.d.ts +9 -0
  171. package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js +33 -0
  172. package/components/detailed-card-collapsible-section-items/DetailedCardCollapsibleSectionItems.js.map +1 -0
  173. package/components/detailed-card-collapsible-section-items/styles.js +35 -0
  174. package/components/detailed-card-collapsible-section-items/styles.js.map +1 -0
  175. package/components/detailed-card-collapsible-section-items/types.d.ts +16 -0
  176. package/components/detailed-card-header/DetailedCardHeader.d.ts +9 -0
  177. package/components/detailed-card-header/DetailedCardHeader.js +45 -0
  178. package/components/detailed-card-header/DetailedCardHeader.js.map +1 -0
  179. package/components/detailed-card-header/styles.js +26 -0
  180. package/components/detailed-card-header/styles.js.map +1 -0
  181. package/components/detailed-card-header/types.d.ts +20 -0
  182. package/components/detailed-card-section/DetailedCardSection.d.ts +9 -0
  183. package/components/detailed-card-section/DetailedCardSection.js +90 -0
  184. package/components/detailed-card-section/DetailedCardSection.js.map +1 -0
  185. package/components/detailed-card-section/intl/en-US.json.js +9 -0
  186. package/components/detailed-card-section/intl/en-US.json.js.map +1 -0
  187. package/components/detailed-card-section/intl/fr-FR.json.js +9 -0
  188. package/components/detailed-card-section/intl/fr-FR.json.js.map +1 -0
  189. package/components/detailed-card-section/intl/index.js +10 -0
  190. package/components/detailed-card-section/intl/index.js.map +1 -0
  191. package/components/detailed-card-section/styles.js +69 -0
  192. package/components/detailed-card-section/styles.js.map +1 -0
  193. package/components/detailed-card-section/types.d.ts +27 -0
  194. package/components/detailed-card-section-item/DetailedCardSectionItem.d.ts +9 -0
  195. package/components/detailed-card-section-item/DetailedCardSectionItem.js +64 -0
  196. package/components/detailed-card-section-item/DetailedCardSectionItem.js.map +1 -0
  197. package/components/detailed-card-section-item/styles.js +34 -0
  198. package/components/detailed-card-section-item/styles.js.map +1 -0
  199. package/components/detailed-card-section-item/types.d.ts +35 -0
  200. package/components/flexbox/Flexbox.d.ts +9 -0
  201. package/components/flexbox/Flexbox.js +44 -0
  202. package/components/flexbox/Flexbox.js.map +1 -0
  203. package/components/flexbox/styles.js +54 -0
  204. package/components/flexbox/styles.js.map +1 -0
  205. package/components/flexbox/types.d.ts +24 -0
  206. package/components/focus-within-group/FocusWithinGroup.d.ts +41 -0
  207. package/components/focus-within-group/FocusWithinGroup.js +91 -0
  208. package/components/focus-within-group/FocusWithinGroup.js.map +1 -0
  209. package/components/focus-within-group/context.d.ts +7 -0
  210. package/components/focus-within-group/context.js +21 -0
  211. package/components/focus-within-group/context.js.map +1 -0
  212. package/components/focus-within-group/reducer.d.ts +5 -0
  213. package/components/focus-within-group/reducer.js +419 -0
  214. package/components/focus-within-group/reducer.js.map +1 -0
  215. package/components/focus-within-group/types.d.ts +143 -0
  216. package/components/focus-within-group/types.js +42 -0
  217. package/components/focus-within-group/types.js.map +1 -0
  218. package/components/focus-within-group/useFocusOnList.d.ts +5 -0
  219. package/components/focus-within-group/useFocusOnList.js +44 -0
  220. package/components/focus-within-group/useFocusOnList.js.map +1 -0
  221. package/components/focus-within-group/useFocusOnListItem.d.ts +39 -0
  222. package/components/focus-within-group/useFocusOnListItem.js +148 -0
  223. package/components/focus-within-group/useFocusOnListItem.js.map +1 -0
  224. package/components/gradient-border/index.d.ts +14 -0
  225. package/components/gradient-border/index.js +38 -0
  226. package/components/gradient-border/index.js.map +1 -0
  227. package/components/grid/Grid.d.ts +13 -0
  228. package/components/grid/Grid.js +45 -0
  229. package/components/grid/Grid.js.map +1 -0
  230. package/components/grid/styles.js +55 -0
  231. package/components/grid/styles.js.map +1 -0
  232. package/components/grid/types.d.ts +22 -0
  233. package/components/grid-item/GridItem.d.ts +9 -0
  234. package/components/grid-item/GridItem.js +28 -0
  235. package/components/grid-item/GridItem.js.map +1 -0
  236. package/components/grid-item/styles.js +16 -0
  237. package/components/grid-item/styles.js.map +1 -0
  238. package/components/grid-item/types.d.ts +11 -0
  239. package/components/heading/Heading.d.ts +9 -0
  240. package/components/heading/Heading.js +50 -0
  241. package/components/heading/Heading.js.map +1 -0
  242. package/components/heading/styles.js +67 -0
  243. package/components/heading/styles.js.map +1 -0
  244. package/components/heading/types.d.ts +62 -0
  245. package/components/heading/types.js +26 -0
  246. package/components/heading/types.js.map +1 -0
  247. package/components/icon/Icon.d.ts +10 -0
  248. package/components/icon/Icon.js +116 -0
  249. package/components/icon/Icon.js.map +1 -0
  250. package/components/icon/styles.js +84 -0
  251. package/components/icon/styles.js.map +1 -0
  252. package/components/icon/types.d.ts +57 -0
  253. package/components/icon/types.js +18 -0
  254. package/components/icon/types.js.map +1 -0
  255. package/components/icon-button/IconButton.d.ts +12 -0
  256. package/components/icon-button/IconButton.js +81 -0
  257. package/components/icon-button/IconButton.js.map +1 -0
  258. package/components/icon-button/styles.js +31 -0
  259. package/components/icon-button/styles.js.map +1 -0
  260. package/components/icon-button/types.d.ts +56 -0
  261. package/components/icon-button/types.js +19 -0
  262. package/components/icon-button/types.js.map +1 -0
  263. package/components/icon-button-link/IconButtonLink.d.ts +13 -0
  264. package/components/icon-button-link/IconButtonLink.js +76 -0
  265. package/components/icon-button-link/IconButtonLink.js.map +1 -0
  266. package/components/icon-button-link/types.d.ts +18 -0
  267. package/components/item/Item.d.ts +10 -0
  268. package/components/item/Item.js +225 -0
  269. package/components/item/Item.js.map +1 -0
  270. package/components/item/styles.d.ts +20 -0
  271. package/components/item/styles.js +129 -0
  272. package/components/item/styles.js.map +1 -0
  273. package/components/item/types.d.ts +59 -0
  274. package/components/item/useMenuItem.js +55 -0
  275. package/components/item/useMenuItem.js.map +1 -0
  276. package/components/link/Link.d.ts +14 -0
  277. package/components/link/Link.js +67 -0
  278. package/components/link/Link.js.map +1 -0
  279. package/components/link/styles.d.ts +15 -0
  280. package/components/link/styles.js +145 -0
  281. package/components/link/styles.js.map +1 -0
  282. package/components/link/types.d.ts +40 -0
  283. package/components/link-button/LinkButton.d.ts +13 -0
  284. package/components/link-button/LinkButton.js +66 -0
  285. package/components/link-button/LinkButton.js.map +1 -0
  286. package/components/link-button/types.d.ts +13 -0
  287. package/components/listbox/ActiveDescendantListbox.d.ts +8 -0
  288. package/components/listbox/ActiveDescendantListbox.js +74 -0
  289. package/components/listbox/ActiveDescendantListbox.js.map +1 -0
  290. package/components/listbox/Listbox.d.ts +10 -0
  291. package/components/listbox/Listbox.js +110 -0
  292. package/components/listbox/Listbox.js.map +1 -0
  293. package/components/listbox/RovingTabindexListbox.d.ts +8 -0
  294. package/components/listbox/RovingTabindexListbox.js +30 -0
  295. package/components/listbox/RovingTabindexListbox.js.map +1 -0
  296. package/components/listbox/context.d.ts +7 -0
  297. package/components/listbox/context.js +15 -0
  298. package/components/listbox/context.js.map +1 -0
  299. package/components/listbox/reducer.d.ts +5 -0
  300. package/components/listbox/reducer.js +45 -0
  301. package/components/listbox/reducer.js.map +1 -0
  302. package/components/listbox/styles.js +44 -0
  303. package/components/listbox/styles.js.map +1 -0
  304. package/components/listbox/types.d.ts +101 -0
  305. package/components/listbox/types.js +32 -0
  306. package/components/listbox/types.js.map +1 -0
  307. package/components/listbox/useListboxItem.d.ts +12 -0
  308. package/components/listbox/useListboxItem.js +90 -0
  309. package/components/listbox/useListboxItem.js.map +1 -0
  310. package/components/number/Number.d.ts +9 -0
  311. package/components/number/Number.js +105 -0
  312. package/components/number/Number.js.map +1 -0
  313. package/components/number/styles.js +10 -0
  314. package/components/number/styles.js.map +1 -0
  315. package/components/number/types.d.ts +63 -0
  316. package/components/number-field/NumberField.d.ts +10 -0
  317. package/components/number-field/NumberField.js +216 -0
  318. package/components/number-field/NumberField.js.map +1 -0
  319. package/components/number-field/styles.js +240 -0
  320. package/components/number-field/styles.js.map +1 -0
  321. package/components/number-field/types.d.ts +74 -0
  322. package/components/number-field/types.js +14 -0
  323. package/components/number-field/types.js.map +1 -0
  324. package/components/pill/Pill.d.ts +9 -0
  325. package/components/pill/Pill.js +93 -0
  326. package/components/pill/Pill.js.map +1 -0
  327. package/components/pill/styles.js +305 -0
  328. package/components/pill/styles.js.map +1 -0
  329. package/components/pill/types.d.ts +47 -0
  330. package/components/pill/types.js +15 -0
  331. package/components/pill/types.js.map +1 -0
  332. package/components/progress-bar/ProgressBar.d.ts +9 -0
  333. package/components/progress-bar/ProgressBar.js +35 -0
  334. package/components/progress-bar/ProgressBar.js.map +1 -0
  335. package/components/progress-bar/styles.js +38 -0
  336. package/components/progress-bar/styles.js.map +1 -0
  337. package/components/progress-bar/types.d.ts +20 -0
  338. package/components/radio/Radio.d.ts +11 -0
  339. package/components/radio/Radio.js +128 -0
  340. package/components/radio/Radio.js.map +1 -0
  341. package/components/radio/styles.js +113 -0
  342. package/components/radio/styles.js.map +1 -0
  343. package/components/radio/types.d.ts +58 -0
  344. package/components/radio-group/RadioGroup.d.ts +10 -0
  345. package/components/radio-group/RadioGroup.js +89 -0
  346. package/components/radio-group/RadioGroup.js.map +1 -0
  347. package/components/radio-group/context.js +6 -0
  348. package/components/radio-group/context.js.map +1 -0
  349. package/components/radio-group/styles.js +78 -0
  350. package/components/radio-group/styles.js.map +1 -0
  351. package/components/radio-group/types.d.ts +68 -0
  352. package/components/radio-group/types.js +18 -0
  353. package/components/radio-group/types.js.map +1 -0
  354. package/components/shared/styles.d.ts +17 -0
  355. package/components/shared/styles.js +250 -0
  356. package/components/shared/styles.js.map +1 -0
  357. package/components/shield/Shield.d.ts +9 -0
  358. package/components/shield/Shield.js +136 -0
  359. package/components/shield/Shield.js.map +1 -0
  360. package/components/shield/styles.js +71 -0
  361. package/components/shield/styles.js.map +1 -0
  362. package/components/shield/types.d.ts +52 -0
  363. package/components/shield/types.js +25 -0
  364. package/components/shield/types.js.map +1 -0
  365. package/components/side-navigation-menu/SideNavigationMenu.d.ts +9 -0
  366. package/components/side-navigation-menu/SideNavigationMenu.js +367 -0
  367. package/components/side-navigation-menu/SideNavigationMenu.js.map +1 -0
  368. package/components/side-navigation-menu/context.js +6 -0
  369. package/components/side-navigation-menu/context.js.map +1 -0
  370. package/components/side-navigation-menu/reducer.js +26 -0
  371. package/components/side-navigation-menu/reducer.js.map +1 -0
  372. package/components/side-navigation-menu/styles.js +196 -0
  373. package/components/side-navigation-menu/styles.js.map +1 -0
  374. package/components/side-navigation-menu/types.d.ts +72 -0
  375. package/components/side-navigation-menu/types.js +21 -0
  376. package/components/side-navigation-menu/types.js.map +1 -0
  377. package/components/side-navigation-menu-bar/SideNavigationMenuBar.d.ts +9 -0
  378. package/components/side-navigation-menu-bar/SideNavigationMenuBar.js +217 -0
  379. package/components/side-navigation-menu-bar/SideNavigationMenuBar.js.map +1 -0
  380. package/components/side-navigation-menu-bar/context.js +6 -0
  381. package/components/side-navigation-menu-bar/context.js.map +1 -0
  382. package/components/side-navigation-menu-bar/styles.js +89 -0
  383. package/components/side-navigation-menu-bar/styles.js.map +1 -0
  384. package/components/side-navigation-menu-bar/types.d.ts +65 -0
  385. package/components/side-navigation-menu-bar/types.js +22 -0
  386. package/components/side-navigation-menu-bar/types.js.map +1 -0
  387. package/components/side-navigation-menu-bar/useSideNavigationMenuBar.d.ts +9 -0
  388. package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js +70 -0
  389. package/components/side-navigation-menu-bar/useSideNavigationMenuBar.js.map +1 -0
  390. package/components/side-navigation-menu-item/SideNavigationMenuItem.d.ts +9 -0
  391. package/components/side-navigation-menu-item/SideNavigationMenuItem.js +115 -0
  392. package/components/side-navigation-menu-item/SideNavigationMenuItem.js.map +1 -0
  393. package/components/side-navigation-menu-item/styles.js +174 -0
  394. package/components/side-navigation-menu-item/styles.js.map +1 -0
  395. package/components/side-navigation-menu-item/types.d.ts +51 -0
  396. package/components/skeleton/Skeleton.d.ts +15 -0
  397. package/components/skeleton/Skeleton.js +42 -0
  398. package/components/skeleton/Skeleton.js.map +1 -0
  399. package/components/skeleton/styles.js +84 -0
  400. package/components/skeleton/styles.js.map +1 -0
  401. package/components/skeleton/types.d.ts +18 -0
  402. package/components/skeleton-circle/SkeletonCircle.d.ts +9 -0
  403. package/components/skeleton-circle/SkeletonCircle.js +36 -0
  404. package/components/skeleton-circle/SkeletonCircle.js.map +1 -0
  405. package/components/skeleton-circle/styles.js +26 -0
  406. package/components/skeleton-circle/styles.js.map +1 -0
  407. package/components/skeleton-circle/types.d.ts +12 -0
  408. package/components/skeleton-text/SkeletonText.d.ts +9 -0
  409. package/components/skeleton-text/SkeletonText.js +42 -0
  410. package/components/skeleton-text/SkeletonText.js.map +1 -0
  411. package/components/skeleton-text/styles.js +39 -0
  412. package/components/skeleton-text/styles.js.map +1 -0
  413. package/components/skeleton-text/types.d.ts +36 -0
  414. package/components/skeleton-text/types.js +20 -0
  415. package/components/skeleton-text/types.js.map +1 -0
  416. package/components/spinner/Spinner.d.ts +9 -0
  417. package/components/spinner/Spinner.js +82 -0
  418. package/components/spinner/Spinner.js.map +1 -0
  419. package/components/spinner/images/spinner-grey-l1.svg.js +4 -0
  420. package/components/spinner/images/spinner-grey-l1.svg.js.map +1 -0
  421. package/components/spinner/images/spinner-grey-l2.svg.js +4 -0
  422. package/components/spinner/images/spinner-grey-l2.svg.js.map +1 -0
  423. package/components/spinner/images/spinner-grey-l3.svg.js +4 -0
  424. package/components/spinner/images/spinner-grey-l3.svg.js.map +1 -0
  425. package/components/spinner/images/spinner-primary-n.svg.js +4 -0
  426. package/components/spinner/images/spinner-primary-n.svg.js.map +1 -0
  427. package/components/spinner/intl/en-US.json.js +7 -0
  428. package/components/spinner/intl/en-US.json.js.map +1 -0
  429. package/components/spinner/intl/fr-FR.json.js +7 -0
  430. package/components/spinner/intl/fr-FR.json.js.map +1 -0
  431. package/components/spinner/intl/index.js +10 -0
  432. package/components/spinner/intl/index.js.map +1 -0
  433. package/components/spinner/styles.js +13 -0
  434. package/components/spinner/styles.js.map +1 -0
  435. package/components/spinner/types.d.ts +38 -0
  436. package/components/spinner/types.js +16 -0
  437. package/components/spinner/types.js.map +1 -0
  438. package/components/switch/Switch.d.ts +11 -0
  439. package/components/switch/Switch.js +137 -0
  440. package/components/switch/Switch.js.map +1 -0
  441. package/components/switch/styles.js +187 -0
  442. package/components/switch/styles.js.map +1 -0
  443. package/components/switch/types.d.ts +58 -0
  444. package/components/switch-group/SwitchGroup.d.ts +10 -0
  445. package/components/switch-group/SwitchGroup.js +101 -0
  446. package/components/switch-group/SwitchGroup.js.map +1 -0
  447. package/components/switch-group/context.js +6 -0
  448. package/components/switch-group/context.js.map +1 -0
  449. package/components/switch-group/styles.js +78 -0
  450. package/components/switch-group/styles.js.map +1 -0
  451. package/components/switch-group/types.d.ts +72 -0
  452. package/components/switch-group/types.js +18 -0
  453. package/components/switch-group/types.js.map +1 -0
  454. package/components/text/Text.d.ts +9 -0
  455. package/components/text/Text.js +51 -0
  456. package/components/text/Text.js.map +1 -0
  457. package/components/text/styles.js +112 -0
  458. package/components/text/styles.js.map +1 -0
  459. package/components/text/types.d.ts +73 -0
  460. package/components/text/types.js +34 -0
  461. package/components/text/types.js.map +1 -0
  462. package/components/text-area/TextArea.d.ts +10 -0
  463. package/components/text-area/TextArea.js +165 -0
  464. package/components/text-area/TextArea.js.map +1 -0
  465. package/components/text-area/styles.js +240 -0
  466. package/components/text-area/styles.js.map +1 -0
  467. package/components/text-area/types.d.ts +28 -0
  468. package/components/text-area/types.js +14 -0
  469. package/components/text-area/types.js.map +1 -0
  470. package/components/text-field/TextField.d.ts +10 -0
  471. package/components/text-field/TextField.js +197 -0
  472. package/components/text-field/TextField.js.map +1 -0
  473. package/components/text-field/intl/en-US.json.js +8 -0
  474. package/components/text-field/intl/en-US.json.js.map +1 -0
  475. package/components/text-field/intl/fr-FR.json.js +8 -0
  476. package/components/text-field/intl/fr-FR.json.js.map +1 -0
  477. package/components/text-field/intl/index.js +10 -0
  478. package/components/text-field/intl/index.js.map +1 -0
  479. package/components/text-field/styles.d.ts +22 -0
  480. package/components/text-field/styles.js +252 -0
  481. package/components/text-field/styles.js.map +1 -0
  482. package/components/text-field/types.d.ts +99 -0
  483. package/components/text-field/types.js +18 -0
  484. package/components/text-field/types.js.map +1 -0
  485. package/components/theme/context.d.ts +11 -0
  486. package/components/theme/context.js +7 -0
  487. package/components/theme/context.js.map +1 -0
  488. package/components/theme/useTheme.d.ts +5 -0
  489. package/components/theme/useTheme.js +13 -0
  490. package/components/theme/useTheme.js.map +1 -0
  491. package/hooks/useBoundingRect.d.ts +8 -0
  492. package/hooks/useBoundingRect.js +17 -0
  493. package/hooks/useBoundingRect.js.map +1 -0
  494. package/hooks/useComputeNumberOfRows.d.ts +15 -0
  495. package/hooks/useComputeNumberOfRows.js +40 -0
  496. package/hooks/useComputeNumberOfRows.js.map +1 -0
  497. package/hooks/useIsLoaded.d.ts +5 -0
  498. package/hooks/useIsLoaded.js +14 -0
  499. package/hooks/useIsLoaded.js.map +1 -0
  500. package/hooks/useWindowSize.d.ts +8 -0
  501. package/hooks/useWindowSize.js +42 -0
  502. package/hooks/useWindowSize.js.map +1 -0
  503. package/index.d.ts +157 -4667
  504. package/index.js +121 -24514
  505. package/index.js.map +1 -1
  506. package/package.json +4 -3
  507. package/packages/popovers/src/components/tooltip/Tooltip.js +62 -0
  508. package/packages/popovers/src/components/tooltip/Tooltip.js.map +1 -0
  509. package/packages/popovers/src/components/tooltip/context.js +6 -0
  510. package/packages/popovers/src/components/tooltip/context.js.map +1 -0
  511. package/packages/popovers/src/components/tooltip/types.js +28 -0
  512. package/packages/popovers/src/components/tooltip/types.js.map +1 -0
  513. package/packages/popovers/src/components/tooltip/useTooltip.js +78 -0
  514. package/packages/popovers/src/components/tooltip/useTooltip.js.map +1 -0
  515. package/packages/popovers/src/components/tooltip/useTooltipContext.js +13 -0
  516. package/packages/popovers/src/components/tooltip/useTooltipContext.js.map +1 -0
  517. package/packages/popovers/src/components/tooltip-content/TooltipContent.js +80 -0
  518. package/packages/popovers/src/components/tooltip-content/TooltipContent.js.map +1 -0
  519. package/packages/popovers/src/components/tooltip-content/styles.js +128 -0
  520. package/packages/popovers/src/components/tooltip-content/styles.js.map +1 -0
  521. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js +47 -0
  522. package/packages/popovers/src/components/tooltip-trigger/TooltipTrigger.js.map +1 -0
  523. package/react-aria/internationalized/date/DateFormatter.d.ts +25 -0
  524. package/react-aria/internationalized/date/DateFormatter.js +187 -0
  525. package/react-aria/internationalized/date/DateFormatter.js.map +1 -0
  526. package/react-aria/internationalized/message/MessageDictionary.d.ts +7 -0
  527. package/react-aria/internationalized/message/MessageDictionary.js +82 -0
  528. package/react-aria/internationalized/message/MessageDictionary.js.map +1 -0
  529. package/react-aria/internationalized/message/MessageFormatter.js +38 -0
  530. package/react-aria/internationalized/message/MessageFormatter.js.map +1 -0
  531. package/react-aria/internationalized/number/NumberFormatter.d.ts +6 -0
  532. package/react-aria/internationalized/number/NumberFormatter.js +222 -0
  533. package/react-aria/internationalized/number/NumberFormatter.js.map +1 -0
  534. package/react-aria/internationalized/number/NumberParser.js +288 -0
  535. package/react-aria/internationalized/number/NumberParser.js.map +1 -0
  536. package/react-aria/internationalized/string/LocalizedStringDictionary.d.ts +21 -0
  537. package/react-aria/internationalized/string/LocalizedStringDictionary.js +118 -0
  538. package/react-aria/internationalized/string/LocalizedStringDictionary.js.map +1 -0
  539. package/react-aria/internationalized/string/LocalizedStringFormatter.d.ts +21 -0
  540. package/react-aria/internationalized/string/LocalizedStringFormatter.js +70 -0
  541. package/react-aria/internationalized/string/LocalizedStringFormatter.js.map +1 -0
  542. package/react-aria/react-aria/button/useButton.js +95 -0
  543. package/react-aria/react-aria/button/useButton.js.map +1 -0
  544. package/react-aria/react-aria/focus/focusSafely.js +33 -0
  545. package/react-aria/react-aria/focus/focusSafely.js.map +1 -0
  546. package/react-aria/react-aria/focus/useFocusRing.js +57 -0
  547. package/react-aria/react-aria/focus/useFocusRing.js.map +1 -0
  548. package/react-aria/react-aria/focus/useFocusable.js +47 -0
  549. package/react-aria/react-aria/focus/useFocusable.js.map +1 -0
  550. package/react-aria/react-aria/form/useFormValidation.js +112 -0
  551. package/react-aria/react-aria/form/useFormValidation.js.map +1 -0
  552. package/react-aria/react-aria/i18n/context.d.ts +19 -0
  553. package/react-aria/react-aria/i18n/context.js +41 -0
  554. package/react-aria/react-aria/i18n/context.js.map +1 -0
  555. package/react-aria/react-aria/i18n/useCollator.d.ts +8 -0
  556. package/react-aria/react-aria/i18n/useCollator.js +25 -0
  557. package/react-aria/react-aria/i18n/useCollator.js.map +1 -0
  558. package/react-aria/react-aria/i18n/useDateFormatter.d.ts +13 -0
  559. package/react-aria/react-aria/i18n/useDateFormatter.js +39 -0
  560. package/react-aria/react-aria/i18n/useDateFormatter.js.map +1 -0
  561. package/react-aria/react-aria/i18n/useDefaultLocale.d.ts +10 -0
  562. package/react-aria/react-aria/i18n/useDefaultLocale.js +67 -0
  563. package/react-aria/react-aria/i18n/useDefaultLocale.js.map +1 -0
  564. package/react-aria/react-aria/i18n/useFilter.d.ts +15 -0
  565. package/react-aria/react-aria/i18n/useFilter.js +58 -0
  566. package/react-aria/react-aria/i18n/useFilter.js.map +1 -0
  567. package/react-aria/react-aria/i18n/useListFormatter.d.ts +8 -0
  568. package/react-aria/react-aria/i18n/useListFormatter.js +20 -0
  569. package/react-aria/react-aria/i18n/useListFormatter.js.map +1 -0
  570. package/react-aria/react-aria/i18n/useLocalizedStringFormatter.d.ts +15 -0
  571. package/react-aria/react-aria/i18n/useLocalizedStringFormatter.js +38 -0
  572. package/react-aria/react-aria/i18n/useLocalizedStringFormatter.js.map +1 -0
  573. package/react-aria/react-aria/i18n/useMessageFormatter.d.ts +13 -0
  574. package/react-aria/react-aria/i18n/useMessageFormatter.js +32 -0
  575. package/react-aria/react-aria/i18n/useMessageFormatter.js.map +1 -0
  576. package/react-aria/react-aria/i18n/useNumberFormatter.d.ts +10 -0
  577. package/react-aria/react-aria/i18n/useNumberFormatter.js +21 -0
  578. package/react-aria/react-aria/i18n/useNumberFormatter.js.map +1 -0
  579. package/react-aria/react-aria/i18n/utils.js +49 -0
  580. package/react-aria/react-aria/i18n/utils.js.map +1 -0
  581. package/react-aria/react-aria/interactions/context.js +20 -0
  582. package/react-aria/react-aria/interactions/context.js.map +1 -0
  583. package/react-aria/react-aria/interactions/createEventHandler.js +48 -0
  584. package/react-aria/react-aria/interactions/createEventHandler.js.map +1 -0
  585. package/react-aria/react-aria/interactions/textSelection.js +85 -0
  586. package/react-aria/react-aria/interactions/textSelection.js.map +1 -0
  587. package/react-aria/react-aria/interactions/useFocus.js +53 -0
  588. package/react-aria/react-aria/interactions/useFocus.js.map +1 -0
  589. package/react-aria/react-aria/interactions/useFocusVisible.js +236 -0
  590. package/react-aria/react-aria/interactions/useFocusVisible.js.map +1 -0
  591. package/react-aria/react-aria/interactions/useFocusWithin.js +65 -0
  592. package/react-aria/react-aria/interactions/useFocusWithin.js.map +1 -0
  593. package/react-aria/react-aria/interactions/useKeyboard.js +27 -0
  594. package/react-aria/react-aria/interactions/useKeyboard.js.map +1 -0
  595. package/react-aria/react-aria/interactions/usePress.js +769 -0
  596. package/react-aria/react-aria/interactions/usePress.js.map +1 -0
  597. package/react-aria/react-aria/interactions/useScrollWheel.js +31 -0
  598. package/react-aria/react-aria/interactions/useScrollWheel.js.map +1 -0
  599. package/react-aria/react-aria/interactions/utils.js +116 -0
  600. package/react-aria/react-aria/interactions/utils.js.map +1 -0
  601. package/react-aria/react-aria/label/useField.js +42 -0
  602. package/react-aria/react-aria/label/useField.js.map +1 -0
  603. package/react-aria/react-aria/label/useLabel.js +42 -0
  604. package/react-aria/react-aria/label/useLabel.js.map +1 -0
  605. package/react-aria/react-aria/live-announcer/LiveAnnouncer.js +121 -0
  606. package/react-aria/react-aria/live-announcer/LiveAnnouncer.js.map +1 -0
  607. package/react-aria/react-aria/numberfield/intl/en-US.json.js +11 -0
  608. package/react-aria/react-aria/numberfield/intl/en-US.json.js.map +1 -0
  609. package/react-aria/react-aria/numberfield/intl/fr-FR.json.js +11 -0
  610. package/react-aria/react-aria/numberfield/intl/fr-FR.json.js.map +1 -0
  611. package/react-aria/react-aria/numberfield/intl/index.js +10 -0
  612. package/react-aria/react-aria/numberfield/intl/index.js.map +1 -0
  613. package/react-aria/react-aria/numberfield/useNumberField.js +294 -0
  614. package/react-aria/react-aria/numberfield/useNumberField.js.map +1 -0
  615. package/react-aria/react-aria/spinbutton/intl/en-US.json.js +7 -0
  616. package/react-aria/react-aria/spinbutton/intl/en-US.json.js.map +1 -0
  617. package/react-aria/react-aria/spinbutton/intl/fr-FR.json.js +7 -0
  618. package/react-aria/react-aria/spinbutton/intl/fr-FR.json.js.map +1 -0
  619. package/react-aria/react-aria/spinbutton/intl/index.js +10 -0
  620. package/react-aria/react-aria/spinbutton/intl/index.js.map +1 -0
  621. package/react-aria/react-aria/spinbutton/useSpinButton.js +168 -0
  622. package/react-aria/react-aria/spinbutton/useSpinButton.js.map +1 -0
  623. package/react-aria/react-aria/ssr/SSRProvider.d.ts +22 -0
  624. package/react-aria/react-aria/ssr/SSRProvider.js +157 -0
  625. package/react-aria/react-aria/ssr/SSRProvider.js.map +1 -0
  626. package/react-aria/react-aria/textfield/useFormattedTextField.js +142 -0
  627. package/react-aria/react-aria/textfield/useFormattedTextField.js.map +1 -0
  628. package/react-aria/react-aria/textfield/useTextField.js +156 -0
  629. package/react-aria/react-aria/textfield/useTextField.js.map +1 -0
  630. package/react-aria/react-aria/utils/chain.js +33 -0
  631. package/react-aria/react-aria/utils/chain.js.map +1 -0
  632. package/react-aria/react-aria/utils/domHelpers.js +14 -0
  633. package/react-aria/react-aria/utils/domHelpers.js.map +1 -0
  634. package/react-aria/react-aria/utils/filterDOMProps.js +45 -0
  635. package/react-aria/react-aria/utils/filterDOMProps.js.map +1 -0
  636. package/react-aria/react-aria/utils/focusWithoutScrolling.js +88 -0
  637. package/react-aria/react-aria/utils/focusWithoutScrolling.js.map +1 -0
  638. package/react-aria/react-aria/utils/isVirtualEvent.js +51 -0
  639. package/react-aria/react-aria/utils/isVirtualEvent.js.map +1 -0
  640. package/react-aria/react-aria/utils/mergeProps.js +48 -0
  641. package/react-aria/react-aria/utils/mergeProps.js.map +1 -0
  642. package/react-aria/react-aria/utils/openLink.js +55 -0
  643. package/react-aria/react-aria/utils/openLink.js.map +1 -0
  644. package/react-aria/react-aria/utils/platform.js +69 -0
  645. package/react-aria/react-aria/utils/platform.js.map +1 -0
  646. package/react-aria/react-aria/utils/runAfterTransition.js +100 -0
  647. package/react-aria/react-aria/utils/runAfterTransition.js.map +1 -0
  648. package/react-aria/react-aria/utils/useDeepMemo.js +16 -0
  649. package/react-aria/react-aria/utils/useDeepMemo.js.map +1 -0
  650. package/react-aria/react-aria/utils/useEffectEvent.js +31 -0
  651. package/react-aria/react-aria/utils/useEffectEvent.js.map +1 -0
  652. package/react-aria/react-aria/utils/useEvent.js +21 -0
  653. package/react-aria/react-aria/utils/useEvent.js.map +1 -0
  654. package/react-aria/react-aria/utils/useFormReset.js +23 -0
  655. package/react-aria/react-aria/utils/useFormReset.js.map +1 -0
  656. package/react-aria/react-aria/utils/useGlobalListeners.js +44 -0
  657. package/react-aria/react-aria/utils/useGlobalListeners.js.map +1 -0
  658. package/react-aria/react-aria/utils/useId.js +86 -0
  659. package/react-aria/react-aria/utils/useId.js.map +1 -0
  660. package/react-aria/react-aria/utils/useLabels.js +39 -0
  661. package/react-aria/react-aria/utils/useLabels.js.map +1 -0
  662. package/react-aria/react-aria/utils/useLayoutEffect.js +21 -0
  663. package/react-aria/react-aria/utils/useLayoutEffect.js.map +1 -0
  664. package/react-aria/react-aria/utils/useSyncRef.js +29 -0
  665. package/react-aria/react-aria/utils/useSyncRef.js.map +1 -0
  666. package/react-aria/react-aria/utils/useValueEffect.js +52 -0
  667. package/react-aria/react-aria/utils/useValueEffect.js.map +1 -0
  668. package/react-aria/react-stately/form/useFormValidationState.js +191 -0
  669. package/react-aria/react-stately/form/useFormValidationState.js.map +1 -0
  670. package/react-aria/react-stately/numberfield/useNumberFieldState.js +196 -0
  671. package/react-aria/react-stately/numberfield/useNumberFieldState.js.map +1 -0
  672. package/react-aria/react-stately/utils/number.js +56 -0
  673. package/react-aria/react-stately/utils/number.js.map +1 -0
  674. package/react-aria/react-stately/utils/useControlledState.js +68 -0
  675. package/react-aria/react-stately/utils/useControlledState.js.map +1 -0
  676. package/react-aria/react-types/shared/locale.d.ts +3 -0
  677. package/types/colors.d.ts +102 -0
  678. package/types/colors.js +64 -0
  679. package/types/colors.js.map +1 -0
  680. package/types/fonts.d.ts +12 -0
  681. package/types/fonts.js +10 -0
  682. package/types/fonts.js.map +1 -0
  683. package/types/helpers.d.ts +23 -0
  684. package/types/products.d.ts +40 -0
  685. package/types/products.js +38 -0
  686. package/types/products.js.map +1 -0
  687. package/types/styles.d.ts +283 -0
  688. package/types/styles.js +161 -0
  689. package/types/styles.js.map +1 -0
  690. package/utils/filterComponents.d.ts +12 -0
  691. package/utils/filterComponents.js +24 -0
  692. package/utils/filterComponents.js.map +1 -0
  693. package/utils/getTextWidth.d.ts +6 -0
  694. package/utils/getTextWidth.js +32 -0
  695. package/utils/getTextWidth.js.map +1 -0
  696. package/utils/isComponent.d.ts +12 -0
  697. package/utils/isComponent.js +15 -0
  698. package/utils/isComponent.js.map +1 -0
  699. package/utils/partitionComponents.d.ts +10 -0
  700. package/utils/partitionComponents.js +26 -0
  701. package/utils/partitionComponents.js.map +1 -0
  702. package/utils/redsift-design-tokens.d.ts +1389 -0
  703. package/utils/redsift-design-tokens.js +1391 -0
  704. package/utils/redsift-design-tokens.js.map +1 -0
  705. package/utils/useId.d.ts +6 -0
  706. package/utils/useId.js +42 -0
  707. package/utils/useId.js.map +1 -0
  708. package/utils/warnIfNoAccessibleLabelFound.d.ts +11 -0
  709. package/utils/warnIfNoAccessibleLabelFound.js +20 -0
  710. package/utils/warnIfNoAccessibleLabelFound.js.map +1 -0
@@ -0,0 +1,70 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default from 'react';
3
+ import { SideNavigationMenuItem } from '../side-navigation-menu-item/SideNavigationMenuItem.js';
4
+ import { SideNavigationMenu } from '../side-navigation-menu/SideNavigationMenu.js';
5
+
6
+ const _excluded = ["title", "href", "ref"],
7
+ _excluded2 = ["title", "children", "ref"],
8
+ _excluded3 = ["title", "href", "ref"];
9
+ const isMenu = item => {
10
+ return item.children !== undefined;
11
+ };
12
+ const useSideNavigationMenuBar = _ref => {
13
+ let {
14
+ items,
15
+ isActive
16
+ } = _ref;
17
+ const menuBarChildren = [];
18
+ items.map(item => {
19
+ if (!isMenu(item)) {
20
+ const {
21
+ title,
22
+ href,
23
+ ref
24
+ } = item,
25
+ rest = _objectWithoutProperties(item, _excluded);
26
+ menuBarChildren.push( /*#__PURE__*/React__default.createElement(SideNavigationMenuItem, _extends({
27
+ key: title,
28
+ isCurrent: isActive ? isActive(href) : undefined
29
+ }, rest, {
30
+ href: href,
31
+ ref: ref
32
+ }), title));
33
+ } else {
34
+ const {
35
+ title,
36
+ children,
37
+ ref
38
+ } = item,
39
+ rest = _objectWithoutProperties(item, _excluded2);
40
+ menuBarChildren.push( /*#__PURE__*/React__default.createElement(SideNavigationMenu, _extends({
41
+ key: title,
42
+ "aria-label": title,
43
+ isExpanded: isActive ? children.filter(child => isActive(child.href)).length > 0 : undefined,
44
+ hasBadge: children.filter(child => child.badge).length > 0
45
+ }, rest, {
46
+ ref: ref
47
+ }), children.map(child => {
48
+ const {
49
+ title,
50
+ href,
51
+ ref
52
+ } = child,
53
+ rest = _objectWithoutProperties(child, _excluded3);
54
+ return /*#__PURE__*/React__default.createElement(SideNavigationMenuItem, _extends({
55
+ key: title,
56
+ href: href,
57
+ isCurrent: isActive ? isActive(href) : undefined
58
+ }, rest, {
59
+ ref: ref
60
+ }), title);
61
+ })));
62
+ }
63
+ });
64
+ return {
65
+ children: menuBarChildren
66
+ };
67
+ };
68
+
69
+ export { useSideNavigationMenuBar };
70
+ //# sourceMappingURL=useSideNavigationMenuBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSideNavigationMenuBar.js","sources":["../../../src/components/side-navigation-menu-bar/useSideNavigationMenuBar.tsx"],"sourcesContent":["import React, { MutableRefObject } from 'react';\nimport { SideNavigationMenu } from '../side-navigation-menu';\nimport { SideNavigationMenuItem } from '../side-navigation-menu-item';\nimport {\n MenuBarItems,\n MenuItem,\n Menu,\n SideNavigationMenuBarProps,\n} from './types';\n\nconst isMenu = (item: MenuItem | Menu): item is Menu => {\n return (item as Menu).children !== undefined;\n};\n\nexport interface UseSideNavigationMenuBarProps {\n items: MenuBarItems;\n isActive?: (href: string) => boolean;\n}\n\nexport const useSideNavigationMenuBar = ({\n items,\n isActive,\n}: UseSideNavigationMenuBarProps): Omit<SideNavigationMenuBarProps, 'ref'> => {\n const menuBarChildren: SideNavigationMenuBarProps['children'][] = [];\n\n items.map((item) => {\n if (!isMenu(item)) {\n const { title, href, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenuItem\n key={title}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n href={href}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n } else {\n const { title, children, ref, ...rest } = item;\n menuBarChildren.push(\n <SideNavigationMenu\n key={title}\n aria-label={title}\n isExpanded={\n isActive\n ? children.filter((child) => isActive(child.href!)).length > 0\n : undefined\n }\n hasBadge={children.filter((child) => child.badge).length > 0}\n {...rest}\n ref={ref as MutableRefObject<HTMLDivElement>}\n >\n {children.map((child) => {\n const { title, href, ref, ...rest } = child;\n return (\n <SideNavigationMenuItem\n key={title}\n href={href}\n isCurrent={isActive ? isActive(href!) : undefined}\n {...rest}\n ref={ref as MutableRefObject<HTMLAnchorElement>}\n >\n {title}\n </SideNavigationMenuItem>\n );\n })}\n </SideNavigationMenu>\n );\n }\n });\n\n return {\n children: menuBarChildren,\n };\n};\n"],"names":["isMenu","item","children","undefined","useSideNavigationMenuBar","_ref","items","isActive","menuBarChildren","map","title","href","ref","rest","_objectWithoutProperties","_excluded","push","React","createElement","SideNavigationMenuItem","_extends","key","isCurrent","_excluded2","SideNavigationMenu","isExpanded","filter","child","length","hasBadge","badge","_excluded3"],"mappings":";;;;;;;;AAUA,MAAMA,MAAM,GAAIC,IAAqB,IAAmB;AACtD,EAAA,OAAQA,IAAI,CAAUC,QAAQ,KAAKC,SAAS,CAAA;AAC9C,CAAC,CAAA;AAOYC,MAAAA,wBAAwB,GAAGC,IAAA,IAGsC;EAAA,IAHrC;IACvCC,KAAK;AACLC,IAAAA,QAAAA;AAC6B,GAAC,GAAAF,IAAA,CAAA;EAC9B,MAAMG,eAAyD,GAAG,EAAE,CAAA;AAEpEF,EAAAA,KAAK,CAACG,GAAG,CAAER,IAAI,IAAK;AAClB,IAAA,IAAI,CAACD,MAAM,CAACC,IAAI,CAAC,EAAE;MACjB,MAAM;UAAES,KAAK;UAAEC,IAAI;AAAEC,UAAAA,GAAAA;AAAa,SAAC,GAAGX,IAAI;AAAbY,QAAAA,IAAI,GAAAC,wBAAA,CAAKb,IAAI,EAAAc,SAAA,CAAA,CAAA;MAC1CP,eAAe,CAACQ,IAAI,eAClBC,cAAA,CAAAC,aAAA,CAACC,sBAAsB,EAAAC,QAAA,CAAA;AACrBC,QAAAA,GAAG,EAAEX,KAAM;AACXY,QAAAA,SAAS,EAAEf,QAAQ,GAAGA,QAAQ,CAACI,IAAK,CAAC,GAAGR,SAAAA;AAAU,OAAA,EAC9CU,IAAI,EAAA;AACRF,QAAAA,IAAI,EAAEA,IAAK;AACXC,QAAAA,GAAG,EAAEA,GAAAA;OAEJF,CAAAA,EAAAA,KACqB,CAC1B,CAAC,CAAA;AACH,KAAC,MAAM;MACL,MAAM;UAAEA,KAAK;UAAER,QAAQ;AAAEU,UAAAA,GAAAA;AAAa,SAAC,GAAGX,IAAI;AAAbY,QAAAA,IAAI,GAAAC,wBAAA,CAAKb,IAAI,EAAAsB,UAAA,CAAA,CAAA;MAC9Cf,eAAe,CAACQ,IAAI,eAClBC,cAAA,CAAAC,aAAA,CAACM,kBAAkB,EAAAJ,QAAA,CAAA;AACjBC,QAAAA,GAAG,EAAEX,KAAM;AACX,QAAA,YAAA,EAAYA,KAAM;QAClBe,UAAU,EACRlB,QAAQ,GACJL,QAAQ,CAACwB,MAAM,CAAEC,KAAK,IAAKpB,QAAQ,CAACoB,KAAK,CAAChB,IAAK,CAAC,CAAC,CAACiB,MAAM,GAAG,CAAC,GAC5DzB,SACL;AACD0B,QAAAA,QAAQ,EAAE3B,QAAQ,CAACwB,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAACG,KAAK,CAAC,CAACF,MAAM,GAAG,CAAA;AAAE,OAAA,EACzDf,IAAI,EAAA;AACRD,QAAAA,GAAG,EAAEA,GAAAA;AAAwC,OAAA,CAAA,EAE5CV,QAAQ,CAACO,GAAG,CAAEkB,KAAK,IAAK;QACvB,MAAM;YAAEjB,KAAK;YAAEC,IAAI;AAAEC,YAAAA,GAAAA;AAAa,WAAC,GAAGe,KAAK;AAAdd,UAAAA,IAAI,GAAAC,wBAAA,CAAKa,KAAK,EAAAI,UAAA,CAAA,CAAA;AAC3C,QAAA,oBACEd,cAAA,CAAAC,aAAA,CAACC,sBAAsB,EAAAC,QAAA,CAAA;AACrBC,UAAAA,GAAG,EAAEX,KAAM;AACXC,UAAAA,IAAI,EAAEA,IAAK;AACXW,UAAAA,SAAS,EAAEf,QAAQ,GAAGA,QAAQ,CAACI,IAAK,CAAC,GAAGR,SAAAA;AAAU,SAAA,EAC9CU,IAAI,EAAA;AACRD,UAAAA,GAAG,EAAEA,GAAAA;AAA2C,SAAA,CAAA,EAE/CF,KACqB,CAAC,CAAA;OAE5B,CACiB,CACtB,CAAC,CAAA;AACH,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;AACLR,IAAAA,QAAQ,EAAEM,eAAAA;GACX,CAAA;AACH;;;;"}
@@ -0,0 +1,9 @@
1
+ import { SideNavigationMenuItemProps } from './types.js';
2
+ import { Comp } from '../../types/helpers.js';
3
+
4
+ /**
5
+ * The SideNavigationMenuItem component.
6
+ */
7
+ declare const SideNavigationMenuItem: Comp<SideNavigationMenuItemProps, HTMLAnchorElement>;
8
+
9
+ export { SideNavigationMenuItem };
@@ -0,0 +1,115 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef, useRef, useContext, useState, useEffect } from 'react';
3
+ import classNames from 'classnames';
4
+ import { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound.js';
5
+ import { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context.js';
6
+ import { SideNavigationMenuContext } from '../side-navigation-menu/context.js';
7
+ import { StyledSideNavigationMenuItemIndicatorContainer, StyledSideNavigationMenuItemIndicator, StyledSideNavigationMenuItem, StyledSideNavigationMenuItemBorder } from './styles.js';
8
+ import { IconSize } from '../icon/types.js';
9
+ import { Badge } from '../badge/Badge.js';
10
+ import { BadgeVariant } from '../badge/types.js';
11
+ import { useTheme } from '../theme/useTheme.js';
12
+ import { Flexbox } from '../flexbox/Flexbox.js';
13
+ import { Icon } from '../icon/Icon.js';
14
+
15
+ const _excluded = ["as", "badge", "badgeProps", "children", "className", "color", "hasBorder", "href", "icon", "iconProps", "iconRef", "isCurrent", "isDisabled", "isSecondLevel", "onClick", "onKeyDown", "tabIndex", "theme"];
16
+ const COMPONENT_NAME = 'SideNavigationMenuItem';
17
+ const CLASSNAME = 'redsift-side-navigation-menu-item';
18
+
19
+ /**
20
+ * The SideNavigationMenuItem component.
21
+ */
22
+ const SideNavigationMenuItem = /*#__PURE__*/forwardRef((props, ref) => {
23
+ const menuItemRef = ref || useRef();
24
+ const {
25
+ as,
26
+ badge,
27
+ badgeProps,
28
+ children,
29
+ className,
30
+ color,
31
+ hasBorder,
32
+ href,
33
+ icon,
34
+ iconProps,
35
+ iconRef = useRef(),
36
+ isCurrent,
37
+ isDisabled,
38
+ isSecondLevel,
39
+ onClick,
40
+ onKeyDown,
41
+ tabIndex,
42
+ theme: propsTheme
43
+ } = props,
44
+ forwardedProps = _objectWithoutProperties(props, _excluded);
45
+ warnIfNoAccessibleLabelFound(props, [children], 'SideNavigationMenuItem');
46
+ const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);
47
+ const sideNavigationMenuContext = useContext(SideNavigationMenuContext);
48
+ const theme = useTheme(propsTheme);
49
+ const [isFirstChild, setIsFirstChild] = useState(false);
50
+ const {
51
+ menuItems
52
+ } = sideNavigationMenuContext || sideNavigationMenuBarContext || {};
53
+ useEffect(() => {
54
+ if (!(sideNavigationMenuContext || sideNavigationMenuBarContext)) {
55
+ setIsFirstChild(true);
56
+ return;
57
+ }
58
+ const menuItemNode = menuItemRef.current;
59
+ if (menuItemNode) {
60
+ if (!menuItems.size) {
61
+ setIsFirstChild(true);
62
+ }
63
+ menuItems.add(menuItemNode);
64
+ }
65
+ return () => {
66
+ menuItems.delete(menuItemNode);
67
+ };
68
+ }, [menuItems]);
69
+ const sideNavigationVariant = sideNavigationMenuBarContext === null || sideNavigationMenuBarContext === void 0 ? void 0 : sideNavigationMenuBarContext.sideNavigationMenuBarVariant;
70
+ return /*#__PURE__*/React__default.createElement(Flexbox, {
71
+ flexDirection: "column",
72
+ gap: "0px"
73
+ }, /*#__PURE__*/React__default.createElement(Flexbox, {
74
+ flexDirection: "row",
75
+ gap: "0px"
76
+ }, !isSecondLevel ? /*#__PURE__*/React__default.createElement(StyledSideNavigationMenuItemIndicatorContainer, null, isCurrent ? /*#__PURE__*/React__default.createElement(StyledSideNavigationMenuItemIndicator, {
77
+ $theme: theme
78
+ }) : null) : null, /*#__PURE__*/React__default.createElement(StyledSideNavigationMenuItem, _extends({
79
+ as: as,
80
+ role: "menuitem"
81
+ }, forwardedProps, {
82
+ $color: color,
83
+ $hasIcon: icon !== undefined,
84
+ $isCurrent: isCurrent,
85
+ $isDisabled: isDisabled,
86
+ $isSecondLevel: isSecondLevel,
87
+ $theme: theme,
88
+ $variant: sideNavigationVariant,
89
+ "aria-current": isCurrent ? 'page' : undefined,
90
+ "aria-disabled": isDisabled,
91
+ className: classNames(SideNavigationMenuItem.className, className),
92
+ href: !isDisabled ? href : undefined,
93
+ onClick: isDisabled ? undefined : onClick,
94
+ onKeyDown: isDisabled ? undefined : onKeyDown,
95
+ ref: menuItemRef,
96
+ tabIndex: tabIndex !== undefined ? tabIndex : !sideNavigationMenuContext && isFirstChild ? 0 : -1
97
+ }), !isSecondLevel || icon ? /*#__PURE__*/React__default.createElement(Icon, _extends({
98
+ color: `var(--redsift-side-navigation-color-menu-item-text-${isSecondLevel || isDisabled ? 'disabled' : 'resting'})`
99
+ }, iconProps, {
100
+ icon: icon,
101
+ ref: iconRef,
102
+ className: "first",
103
+ size: isSecondLevel ? IconSize.small : IconSize.medium
104
+ })) : null, /*#__PURE__*/React__default.createElement("span", {
105
+ className: "content"
106
+ }, children), badge ? /*#__PURE__*/React__default.createElement(Badge, _extends({
107
+ variant: BadgeVariant.standard,
108
+ color: "error"
109
+ }, badgeProps), badge) : null)), isSecondLevel && hasBorder ? /*#__PURE__*/React__default.createElement(StyledSideNavigationMenuItemBorder, null) : null);
110
+ });
111
+ SideNavigationMenuItem.className = CLASSNAME;
112
+ SideNavigationMenuItem.displayName = COMPONENT_NAME;
113
+
114
+ export { SideNavigationMenuItem };
115
+ //# sourceMappingURL=SideNavigationMenuItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SideNavigationMenuItem.js","sources":["../../../src/components/side-navigation-menu-item/SideNavigationMenuItem.tsx"],"sourcesContent":["import React, { forwardRef, MutableRefObject, useContext, useEffect, useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport { Comp } from '../../types';\nimport { Icon, IconSize } from '../icon';\nimport { warnIfNoAccessibleLabelFound } from '../../utils/warnIfNoAccessibleLabelFound';\nimport { SideNavigationMenuBarContext } from '../side-navigation-menu-bar/context';\nimport { SideNavigationMenuContext } from '../side-navigation-menu/context';\nimport {\n StyledSideNavigationMenuItem,\n StyledSideNavigationMenuItemBorder,\n StyledSideNavigationMenuItemIndicator,\n StyledSideNavigationMenuItemIndicatorContainer,\n} from './styles';\nimport { SideNavigationMenuItemProps } from './types';\nimport { Badge, BadgeVariant } from '../badge';\nimport { Flexbox } from '../flexbox';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'SideNavigationMenuItem';\nconst CLASSNAME = 'redsift-side-navigation-menu-item';\n\n/**\n * The SideNavigationMenuItem component.\n */\nexport const SideNavigationMenuItem: Comp<SideNavigationMenuItemProps, HTMLAnchorElement> = forwardRef((props, ref) => {\n const menuItemRef = ref || useRef<HTMLAnchorElement>();\n\n const {\n as,\n badge,\n badgeProps,\n children,\n className,\n color,\n hasBorder,\n href,\n icon,\n iconProps,\n iconRef = useRef<HTMLElement>(),\n isCurrent,\n isDisabled,\n isSecondLevel,\n onClick,\n onKeyDown,\n tabIndex,\n theme: propsTheme,\n ...forwardedProps\n } = props;\n\n warnIfNoAccessibleLabelFound(props, [children], 'SideNavigationMenuItem');\n\n const sideNavigationMenuBarContext = useContext(SideNavigationMenuBarContext);\n const sideNavigationMenuContext = useContext(SideNavigationMenuContext);\n const theme = useTheme(propsTheme);\n\n const [isFirstChild, setIsFirstChild] = useState(false);\n const { menuItems } = sideNavigationMenuContext || sideNavigationMenuBarContext || {};\n\n useEffect(() => {\n if (!(sideNavigationMenuContext || sideNavigationMenuBarContext)) {\n setIsFirstChild(true);\n return;\n }\n\n const menuItemNode = (menuItemRef as MutableRefObject<HTMLAnchorElement>).current;\n\n if (menuItemNode) {\n if (!menuItems.size) {\n setIsFirstChild(true);\n }\n\n menuItems.add(menuItemNode);\n }\n\n return () => {\n menuItems.delete(menuItemNode);\n };\n }, [menuItems]);\n\n const sideNavigationVariant = sideNavigationMenuBarContext?.sideNavigationMenuBarVariant;\n\n return (\n <Flexbox flexDirection=\"column\" gap=\"0px\">\n <Flexbox flexDirection=\"row\" gap=\"0px\">\n {!isSecondLevel ? (\n <StyledSideNavigationMenuItemIndicatorContainer>\n {isCurrent ? <StyledSideNavigationMenuItemIndicator $theme={theme} /> : null}\n </StyledSideNavigationMenuItemIndicatorContainer>\n ) : null}\n <StyledSideNavigationMenuItem\n as={as as any}\n role=\"menuitem\"\n {...forwardedProps}\n $color={color}\n $hasIcon={icon !== undefined}\n $isCurrent={isCurrent}\n $isDisabled={isDisabled}\n $isSecondLevel={isSecondLevel}\n $theme={theme}\n $variant={sideNavigationVariant}\n aria-current={isCurrent ? 'page' : undefined}\n aria-disabled={isDisabled}\n className={classNames(SideNavigationMenuItem.className, className)}\n href={!isDisabled ? href : undefined}\n onClick={isDisabled ? undefined : onClick}\n onKeyDown={isDisabled ? undefined : onKeyDown}\n ref={menuItemRef as MutableRefObject<HTMLAnchorElement>}\n tabIndex={tabIndex !== undefined ? tabIndex : !sideNavigationMenuContext && isFirstChild ? 0 : -1}\n >\n {!isSecondLevel || icon ? (\n <Icon\n color={`var(--redsift-side-navigation-color-menu-item-text-${\n isSecondLevel || isDisabled ? 'disabled' : 'resting'\n })`}\n {...iconProps}\n icon={icon!}\n ref={iconRef as MutableRefObject<HTMLElement>}\n className=\"first\"\n size={isSecondLevel ? IconSize.small : IconSize.medium}\n />\n ) : null}\n <span className=\"content\">{children}</span>\n {badge ? (\n <Badge variant={BadgeVariant.standard} color=\"error\" {...badgeProps}>\n {badge}\n </Badge>\n ) : null}\n </StyledSideNavigationMenuItem>\n </Flexbox>\n {isSecondLevel && hasBorder ? <StyledSideNavigationMenuItemBorder /> : null}\n </Flexbox>\n );\n});\nSideNavigationMenuItem.className = CLASSNAME;\nSideNavigationMenuItem.displayName = COMPONENT_NAME;\n"],"names":["COMPONENT_NAME","CLASSNAME","SideNavigationMenuItem","forwardRef","props","ref","menuItemRef","useRef","as","badge","badgeProps","children","className","color","hasBorder","href","icon","iconProps","iconRef","isCurrent","isDisabled","isSecondLevel","onClick","onKeyDown","tabIndex","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","warnIfNoAccessibleLabelFound","sideNavigationMenuBarContext","useContext","SideNavigationMenuBarContext","sideNavigationMenuContext","SideNavigationMenuContext","useTheme","isFirstChild","setIsFirstChild","useState","menuItems","useEffect","menuItemNode","current","size","add","delete","sideNavigationVariant","sideNavigationMenuBarVariant","React","createElement","Flexbox","flexDirection","gap","StyledSideNavigationMenuItemIndicatorContainer","StyledSideNavigationMenuItemIndicator","$theme","StyledSideNavigationMenuItem","_extends","role","$color","$hasIcon","undefined","$isCurrent","$isDisabled","$isSecondLevel","$variant","classNames","Icon","IconSize","small","medium","Badge","variant","BadgeVariant","standard","StyledSideNavigationMenuItemBorder","displayName"],"mappings":"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"}
@@ -0,0 +1,174 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { SideNavigationMenuBarVariant } from '../side-navigation-menu-bar/types.js';
3
+
4
+ const StyledSideNavigationMenuItemIndicatorContainer = styled.div`
5
+ min-width: 4px;
6
+ `;
7
+ const StyledSideNavigationMenuItemIndicator = styled.div`
8
+ position: relative;
9
+ width: 4px;
10
+ height: 40px;
11
+ border-radius: 0px 4px 4px 0px;
12
+ background-color: ${_ref => {
13
+ let {
14
+ $theme
15
+ } = _ref;
16
+ return `var(--redsift-color-${$theme}-components-side-navigation-current-marker)`;
17
+ }};
18
+ `;
19
+ const StyledSideNavigationMenuItemBorder = styled.div`
20
+ position: relative;
21
+ width: 100%;
22
+ height: 1px;
23
+ background-color: var(--redsift-color-neutral-light-grey);
24
+ margin-left: 62px;
25
+ margin-top: -1px;
26
+ `;
27
+
28
+ /**
29
+ * Component style.
30
+ */
31
+ const StyledSideNavigationMenuItem = styled.a`
32
+ /**
33
+ * Common style
34
+ */
35
+ ${_ref2 => {
36
+ let {
37
+ $isDisabled,
38
+ $theme,
39
+ $color
40
+ } = _ref2;
41
+ return !$isDisabled ? css`
42
+ & {
43
+ color: ${$color ? $color : `var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-resting)`};
44
+ }
45
+ ` : css`
46
+ & {
47
+ color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-disabled);
48
+ }
49
+ `;
50
+ }}
51
+ align-items: center;
52
+ border-radius: 0 4px 4px 0;
53
+ display: flex;
54
+ font-family: var(--redsift-typography-body-font-family);
55
+ font-size: 14px;
56
+ font-weight: var(--redsift-typography-body-font-weight);
57
+ gap: 8px;
58
+ line-height: var(--redsift-typography-body-line-height);
59
+ overflow: hidden;
60
+ text-decoration: none;
61
+ text-transform: uppercase;
62
+ width: 100%;
63
+
64
+ &:hover,
65
+ &:focus-visible {
66
+ outline: none;
67
+
68
+ ${_ref3 => {
69
+ let {
70
+ $isDisabled,
71
+ $theme,
72
+ $color
73
+ } = _ref3;
74
+ return !$isDisabled ? css`
75
+ background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-hover);
76
+ & {
77
+ color: ${$color ? $color : `var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-hover)`};
78
+ }
79
+ ` : '';
80
+ }}
81
+ }
82
+
83
+ :active {
84
+ ${_ref4 => {
85
+ let {
86
+ $isDisabled,
87
+ $theme
88
+ } = _ref4;
89
+ return !$isDisabled ? css`
90
+ background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-active);
91
+ ` : '';
92
+ }}
93
+ }
94
+
95
+ ${_ref5 => {
96
+ let {
97
+ $variant
98
+ } = _ref5;
99
+ return css`
100
+ @media (prefers-reduced-motion: no-preference) {
101
+ :focus-visible {
102
+ > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {
103
+ outline: 2px solid var(--redsift-color-primary-n);
104
+ transition: outline-offset 75ms ease-out;
105
+ }
106
+
107
+ :not(:active):focus-visible {
108
+ > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {
109
+ transition-duration: 0.25s;
110
+ }
111
+ }
112
+ }
113
+
114
+ :not(:active):focus-visible {
115
+ > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {
116
+ outline-offset: 0.25rem;
117
+ }
118
+ }
119
+ }
120
+
121
+ .content {
122
+ transition: opacity 300ms ease-out;
123
+ opacity: ${$variant === SideNavigationMenuBarVariant.shrinked ? '0' : '1'};
124
+ overflow: hidden;
125
+ white-space: nowrap;
126
+ }
127
+ `;
128
+ }}
129
+
130
+ ${_ref6 => {
131
+ let {
132
+ $hasIcon,
133
+ $isSecondLevel,
134
+ $variant,
135
+ $theme
136
+ } = _ref6;
137
+ return !$isSecondLevel ? css`
138
+ /**
139
+ * First-level items
140
+ */
141
+
142
+ background-color: var(--redsift-color-${$theme}-components-side-navigation-background);
143
+ height: 40px;
144
+ margin-bottom: 4px;
145
+ margin-left: -4px;
146
+ transition: padding 300ms ease-out;
147
+ padding: 0 16px 0 ${$variant === SideNavigationMenuBarVariant.shrinked ? '16px' : '16px'};
148
+
149
+ .redsift-icon.first {
150
+ box-sizing: unset;
151
+ }
152
+ ` : `
153
+ /**
154
+ * Second-level items
155
+ */
156
+
157
+ background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-secondary);
158
+ font-size: var(--redsift-typography-caption-font-size);
159
+ padding-bottom: 4px;
160
+ padding-left: ${$hasIcon ? '18px' : '54px'};
161
+ padding-right: 0;
162
+ padding-top: 4px;
163
+ border-radius: 0;
164
+
165
+ .redsift-icon.first {
166
+ box-sizing: unset;
167
+ margin-right: 8px;
168
+ }
169
+ `;
170
+ }}
171
+ `;
172
+
173
+ export { StyledSideNavigationMenuItem, StyledSideNavigationMenuItemBorder, StyledSideNavigationMenuItemIndicator, StyledSideNavigationMenuItemIndicatorContainer };
174
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/side-navigation-menu-item/styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { StyledSideNavigationMenuItemProps } from './types';\nimport { SideNavigationMenuBarVariant } from '../side-navigation-menu-bar';\nimport { Theme } from '../../types';\n\nexport const StyledSideNavigationMenuItemIndicatorContainer = styled.div`\n min-width: 4px;\n`;\n\nexport const StyledSideNavigationMenuItemIndicator = styled.div<{ $theme: Theme }>`\n position: relative;\n width: 4px;\n height: 40px;\n border-radius: 0px 4px 4px 0px;\n background-color: ${({ $theme }) => `var(--redsift-color-${$theme}-components-side-navigation-current-marker)`};\n`;\n\nexport const StyledSideNavigationMenuItemBorder = styled.div`\n position: relative;\n width: 100%;\n height: 1px;\n background-color: var(--redsift-color-neutral-light-grey);\n margin-left: 62px;\n margin-top: -1px;\n`;\n\n/**\n * Component style.\n */\nexport const StyledSideNavigationMenuItem = styled.a<StyledSideNavigationMenuItemProps>`\n /**\n * Common style\n */\n ${({ $isDisabled, $theme, $color }) =>\n !$isDisabled\n ? css`\n & {\n color: ${$color\n ? $color\n : `var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-resting)`};\n }\n `\n : css`\n & {\n color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-disabled);\n }\n `}\n align-items: center;\n border-radius: 0 4px 4px 0;\n display: flex;\n font-family: var(--redsift-typography-body-font-family);\n font-size: 14px;\n font-weight: var(--redsift-typography-body-font-weight);\n gap: 8px;\n line-height: var(--redsift-typography-body-line-height);\n overflow: hidden;\n text-decoration: none;\n text-transform: uppercase;\n width: 100%;\n\n &:hover,\n &:focus-visible {\n outline: none;\n\n ${({ $isDisabled, $theme, $color }) =>\n !$isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-hover);\n & {\n color: ${$color\n ? $color\n : `var(--redsift-color-${$theme}-components-side-navigation-menu-item-text-hover)`};\n }\n `\n : ''}\n }\n\n :active {\n ${({ $isDisabled, $theme }) =>\n !$isDisabled\n ? css`\n background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-active);\n `\n : ''}\n }\n\n ${({ $variant }) => css`\n @media (prefers-reduced-motion: no-preference) {\n :focus-visible {\n > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {\n outline: 2px solid var(--redsift-color-primary-n);\n transition: outline-offset 75ms ease-out;\n }\n\n :not(:active):focus-visible {\n > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {\n transition-duration: 0.25s;\n }\n }\n }\n\n :not(:active):focus-visible {\n > span${$variant === SideNavigationMenuBarVariant.shrinked ? '.first' : '.content'} {\n outline-offset: 0.25rem;\n }\n }\n }\n\n .content {\n transition: opacity 300ms ease-out;\n opacity: ${$variant === SideNavigationMenuBarVariant.shrinked ? '0' : '1'};\n overflow: hidden;\n white-space: nowrap;\n }\n `}\n\n ${({ $hasIcon, $isSecondLevel, $variant, $theme }) =>\n !$isSecondLevel\n ? css`\n /**\n * First-level items\n */\n\n background-color: var(--redsift-color-${$theme}-components-side-navigation-background);\n height: 40px;\n margin-bottom: 4px;\n margin-left: -4px;\n transition: padding 300ms ease-out;\n padding: 0 16px 0 ${$variant === SideNavigationMenuBarVariant.shrinked ? '16px' : '16px'};\n\n .redsift-icon.first {\n box-sizing: unset;\n }\n `\n : `\n /**\n * Second-level items\n */\n\n background-color: var(--redsift-color-${$theme}-components-side-navigation-menu-item-background-secondary);\n font-size: var(--redsift-typography-caption-font-size);\n padding-bottom: 4px;\n padding-left: ${$hasIcon ? '18px' : '54px'};\n padding-right: 0;\n padding-top: 4px;\n border-radius: 0;\n\n .redsift-icon.first {\n box-sizing: unset;\n margin-right: 8px;\n }\n `}\n`;\n"],"names":["StyledSideNavigationMenuItemIndicatorContainer","styled","div","StyledSideNavigationMenuItemIndicator","_ref","$theme","StyledSideNavigationMenuItemBorder","StyledSideNavigationMenuItem","a","_ref2","$isDisabled","$color","css","_ref3","_ref4","_ref5","$variant","SideNavigationMenuBarVariant","shrinked","_ref6","$hasIcon","$isSecondLevel"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { ComponentProps, ElementType, RefObject } from 'react';
2
+ import { BadgeProps } from '../badge/types.js';
3
+ import { IconProps } from '../icon/types.js';
4
+ import { Theme } from '../../types/colors.js';
5
+ import { SideNavigationMenuBarVariant } from '../side-navigation-menu-bar/types.js';
6
+
7
+ /**
8
+ * Component props.
9
+ */
10
+ interface SideNavigationMenuItemProps extends ComponentProps<'a'> {
11
+ /** Prop to pass a custom react component instead of a simple HTML anchor (useful for Nextjs or React Router Link component). */
12
+ as?: 'a' | ElementType;
13
+ /** Text or number that should be displayed inside a badge next to the menu item text. */
14
+ badge?: number | string;
15
+ /** Custom props to pass to the Badge component, if any. */
16
+ badgeProps?: Omit<BadgeProps, 'ref'>;
17
+ /** Color variant. */
18
+ color?: string;
19
+ /** Whether the menu item has a border or not. */
20
+ hasBorder?: boolean;
21
+ /** Href is required for this component. */
22
+ href: ComponentProps<'a'>['href'];
23
+ /**
24
+ * Can be a string or an array of strings containing `d` property of the `path` SVG element.<br />
25
+ * Can also be a ReactElement.
26
+ */
27
+ icon?: IconProps['icon'];
28
+ /** Custom props to pass to the Icon component. */
29
+ iconProps?: Omit<IconProps, 'ref' | 'icon'>;
30
+ /** Custom ref to pass to the Icon component. */
31
+ iconRef?: RefObject<HTMLElement>;
32
+ /** Whether the component is active or not. */
33
+ isCurrent?: boolean;
34
+ /** Whether the component is disabled or not. */
35
+ isDisabled?: boolean;
36
+ /** Whether the component is a second-level menu item. */
37
+ isSecondLevel?: boolean;
38
+ /** Theme. */
39
+ theme?: Theme;
40
+ }
41
+ type StyledSideNavigationMenuItemProps = Omit<SideNavigationMenuItemProps, 'isCurrent' | 'isDisabled' | 'isSecondLevel' | 'hasBorder'> & {
42
+ $color: SideNavigationMenuItemProps['color'];
43
+ $hasIcon: boolean;
44
+ $isCurrent: SideNavigationMenuItemProps['isCurrent'];
45
+ $isDisabled: SideNavigationMenuItemProps['isDisabled'];
46
+ $isSecondLevel: SideNavigationMenuItemProps['isSecondLevel'];
47
+ $variant: SideNavigationMenuBarVariant;
48
+ $theme: SideNavigationMenuItemProps['theme'];
49
+ };
50
+
51
+ export { SideNavigationMenuItemProps, StyledSideNavigationMenuItemProps };
@@ -0,0 +1,15 @@
1
+ import { SkeletonProps } from './types.js';
2
+ import { Comp } from '../../types/helpers.js';
3
+ import { SkeletonCircleProps } from '../skeleton-circle/types.js';
4
+ import { SkeletonTextProps } from '../skeleton-text/types.js';
5
+
6
+ /**
7
+ * The Skeleton component.
8
+ */
9
+ declare const BaseSkeleton: Comp<SkeletonProps, HTMLDivElement>;
10
+ declare const Skeleton: Comp<SkeletonProps, HTMLDivElement> & {
11
+ Circle: Comp<SkeletonCircleProps, HTMLDivElement>;
12
+ Text: Comp<SkeletonTextProps, HTMLDivElement>;
13
+ };
14
+
15
+ export { BaseSkeleton, Skeleton };
@@ -0,0 +1,42 @@
1
+ import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import React__default, { forwardRef } from 'react';
3
+ import classNames from 'classnames';
4
+ import { StyledSkeleton } from './styles.js';
5
+ import { SkeletonCircle } from '../skeleton-circle/SkeletonCircle.js';
6
+ import { SkeletonText } from '../skeleton-text/SkeletonText.js';
7
+ import { useTheme } from '../theme/useTheme.js';
8
+
9
+ const _excluded = ["children", "className", "isLoaded", "theme"];
10
+ const COMPONENT_NAME = 'Skeleton';
11
+ const CLASSNAME = 'redsift-skeleton';
12
+
13
+ /**
14
+ * The Skeleton component.
15
+ */
16
+ const BaseSkeleton = /*#__PURE__*/forwardRef((props, ref) => {
17
+ const {
18
+ children,
19
+ className,
20
+ isLoaded,
21
+ theme: propsTheme
22
+ } = props,
23
+ forwardedProps = _objectWithoutProperties(props, _excluded);
24
+ const theme = useTheme(propsTheme);
25
+ if (isLoaded) {
26
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, children);
27
+ }
28
+ return /*#__PURE__*/React__default.createElement(StyledSkeleton, _extends({}, forwardedProps, {
29
+ $theme: theme,
30
+ className: classNames(BaseSkeleton.className, className),
31
+ ref: ref
32
+ }), typeof children === 'string' ? /*#__PURE__*/React__default.createElement("span", null, children) : children);
33
+ });
34
+ BaseSkeleton.className = CLASSNAME;
35
+ BaseSkeleton.displayName = COMPONENT_NAME;
36
+ const Skeleton = Object.assign(BaseSkeleton, {
37
+ Circle: SkeletonCircle,
38
+ Text: SkeletonText
39
+ });
40
+
41
+ export { BaseSkeleton, Skeleton };
42
+ //# sourceMappingURL=Skeleton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Skeleton.js","sources":["../../../src/components/skeleton/Skeleton.tsx"],"sourcesContent":["import React, { forwardRef, RefObject } from 'react';\nimport classNames from 'classnames';\n\nimport { Comp } from '../../types';\nimport { StyledSkeleton } from './styles';\nimport { SkeletonProps } from './types';\nimport { SkeletonCircle } from '../skeleton-circle';\nimport { SkeletonText } from '../skeleton-text';\nimport { useTheme } from '../theme';\n\nconst COMPONENT_NAME = 'Skeleton';\nconst CLASSNAME = 'redsift-skeleton';\n\n/**\n * The Skeleton component.\n */\nexport const BaseSkeleton: Comp<SkeletonProps, HTMLDivElement> = forwardRef((props, ref) => {\n const { children, className, isLoaded, theme: propsTheme, ...forwardedProps } = props;\n\n const theme = useTheme(propsTheme);\n\n if (isLoaded) {\n return <>{children}</>;\n }\n\n return (\n <StyledSkeleton\n {...forwardedProps}\n $theme={theme}\n className={classNames(BaseSkeleton.className, className)}\n ref={ref as RefObject<HTMLDivElement>}\n >\n {typeof children === 'string' ? <span>{children}</span> : children}\n </StyledSkeleton>\n );\n});\nBaseSkeleton.className = CLASSNAME;\nBaseSkeleton.displayName = COMPONENT_NAME;\n\nexport const Skeleton = Object.assign(BaseSkeleton, {\n Circle: SkeletonCircle,\n Text: SkeletonText,\n});\n"],"names":["COMPONENT_NAME","CLASSNAME","BaseSkeleton","forwardRef","props","ref","children","className","isLoaded","theme","propsTheme","forwardedProps","_objectWithoutProperties","_excluded","useTheme","React","createElement","Fragment","StyledSkeleton","_extends","$theme","classNames","displayName","Skeleton","Object","assign","Circle","SkeletonCircle","Text","SkeletonText"],"mappings":";;;;;;;;;AAUA,MAAMA,cAAc,GAAG,UAAU,CAAA;AACjC,MAAMC,SAAS,GAAG,kBAAkB,CAAA;;AAEpC;AACA;AACA;AACO,MAAMC,YAAiD,gBAAGC,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAK;EAC1F,MAAM;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,QAAQ;AAAEC,MAAAA,KAAK,EAAEC,UAAAA;AAA8B,KAAC,GAAGN,KAAK;AAAxBO,IAAAA,cAAc,GAAAC,wBAAA,CAAKR,KAAK,EAAAS,SAAA,CAAA,CAAA;AAErF,EAAA,MAAMJ,KAAK,GAAGK,QAAQ,CAACJ,UAAU,CAAC,CAAA;AAElC,EAAA,IAAIF,QAAQ,EAAE;IACZ,oBAAOO,cAAA,CAAAC,aAAA,CAAAD,cAAA,CAAAE,QAAA,EAAGX,IAAAA,EAAAA,QAAW,CAAC,CAAA;AACxB,GAAA;EAEA,oBACES,cAAA,CAAAC,aAAA,CAACE,cAAc,EAAAC,QAAA,KACTR,cAAc,EAAA;AAClBS,IAAAA,MAAM,EAAEX,KAAM;IACdF,SAAS,EAAEc,UAAU,CAACnB,YAAY,CAACK,SAAS,EAAEA,SAAS,CAAE;AACzDF,IAAAA,GAAG,EAAEA,GAAAA;AAAiC,GAAA,CAAA,EAErC,OAAOC,QAAQ,KAAK,QAAQ,gBAAGS,cAAA,CAAAC,aAAA,CAAOV,MAAAA,EAAAA,IAAAA,EAAAA,QAAe,CAAC,GAAGA,QAC5C,CAAC,CAAA;AAErB,CAAC,EAAC;AACFJ,YAAY,CAACK,SAAS,GAAGN,SAAS,CAAA;AAClCC,YAAY,CAACoB,WAAW,GAAGtB,cAAc,CAAA;AAElC,MAAMuB,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAACvB,YAAY,EAAE;AAClDwB,EAAAA,MAAM,EAAEC,cAAc;AACtBC,EAAAA,IAAI,EAAEC,YAAAA;AACR,CAAC;;;;"}
@@ -0,0 +1,84 @@
1
+ import styled, { keyframes, css } from 'styled-components';
2
+ import { baseStyling, baseInternalSpacing } from '../shared/styles.js';
3
+ import { Theme } from '../../types/colors.js';
4
+
5
+ /**
6
+ * Component style.
7
+ */
8
+ const wave = keyframes`
9
+ 0% {
10
+ -webkit-transform: translateX(-100%);
11
+ -moz-transform: translateX(-100%);
12
+ -ms-transform: translateX(-100%);
13
+ transform: translateX(-100%);
14
+ }
15
+
16
+ 50% {
17
+ -webkit-transform: translateX(100%);
18
+ -moz-transform: translateX(100%);
19
+ -ms-transform: translateX(100%);
20
+ transform: translateX(100%);
21
+ }
22
+
23
+ 100% {
24
+ -webkit-transform: translateX(100%);
25
+ -moz-transform: translateX(100%);
26
+ -ms-transform: translateX(100%);
27
+ transform: translateX(100%);
28
+ }
29
+ `;
30
+ const StyledSkeleton = styled.div`
31
+ height: fit-content;
32
+ width: fit-content;
33
+
34
+ * {
35
+ visibility: hidden;
36
+ }
37
+
38
+ flex: 0 0 auto;
39
+
40
+ ${baseStyling}
41
+ ${baseInternalSpacing}
42
+
43
+ display: block;
44
+ background-color: ${_ref => {
45
+ let {
46
+ $theme
47
+ } = _ref;
48
+ return $theme === Theme.light ? css`rgba(0, 0, 0, 0.16)` : css`rgba(255, 255, 255, 0.16)`;
49
+ }};
50
+ border-radius: 4px;
51
+ position: relative;
52
+ overflow: hidden;
53
+ -webkit-mask-image: -webkit-radial-gradient(white, black);
54
+
55
+ &::after {
56
+ -webkit-animation: ${wave} 1.6s linear 0.5s infinite;
57
+ animation: ${wave} 1.6s linear 0.5s infinite;
58
+ background: linear-gradient(
59
+ 90deg,
60
+ transparent,
61
+ ${_ref2 => {
62
+ let {
63
+ $theme
64
+ } = _ref2;
65
+ return $theme === Theme.light ? css`rgba(0, 0, 0, 0.04)` : css`rgba(255, 255, 255, 0.04)`;
66
+ }},
67
+ transparent
68
+ );
69
+ background-clip: content-box;
70
+ content: '';
71
+ position: absolute;
72
+ -webkit-transform: translateX(-100%);
73
+ -moz-transform: translateX(-100%);
74
+ -ms-transform: translateX(-100%);
75
+ transform: translateX(-100%);
76
+ bottom: 0;
77
+ left: 0;
78
+ right: 0;
79
+ top: 0;
80
+ }
81
+ `;
82
+
83
+ export { StyledSkeleton };
84
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/skeleton/styles.ts"],"sourcesContent":["import styled, { css, keyframes } from 'styled-components';\nimport { baseInternalSpacing, baseStyling } from '../shared';\nimport { StyledSkeletonProps } from './types';\nimport { Theme } from '../../types';\n\n/**\n * Component style.\n */\nconst wave = keyframes`\n 0% {\n -webkit-transform: translateX(-100%);\n -moz-transform: translateX(-100%);\n -ms-transform: translateX(-100%);\n transform: translateX(-100%);\n }\n\n 50% {\n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n\n 100% {\n -webkit-transform: translateX(100%);\n -moz-transform: translateX(100%);\n -ms-transform: translateX(100%);\n transform: translateX(100%);\n }\n`;\n\nexport const StyledSkeleton = styled.div<StyledSkeletonProps>`\n height: fit-content;\n width: fit-content;\n\n * {\n visibility: hidden;\n }\n\n flex: 0 0 auto;\n\n ${baseStyling}\n ${baseInternalSpacing}\n\n display: block;\n background-color: ${({ $theme }) =>\n $theme === Theme.light ? css`rgba(0, 0, 0, 0.16)` : css`rgba(255, 255, 255, 0.16)`};\n border-radius: 4px;\n position: relative;\n overflow: hidden;\n -webkit-mask-image: -webkit-radial-gradient(white, black);\n\n &::after {\n -webkit-animation: ${wave} 1.6s linear 0.5s infinite;\n animation: ${wave} 1.6s linear 0.5s infinite;\n background: linear-gradient(\n 90deg,\n transparent,\n ${({ $theme }) => ($theme === Theme.light ? css`rgba(0, 0, 0, 0.04)` : css`rgba(255, 255, 255, 0.04)`)},\n transparent\n );\n background-clip: content-box;\n content: '';\n position: absolute;\n -webkit-transform: translateX(-100%);\n -moz-transform: translateX(-100%);\n -ms-transform: translateX(-100%);\n transform: translateX(-100%);\n bottom: 0;\n left: 0;\n right: 0;\n top: 0;\n }\n`;\n"],"names":["wave","keyframes","StyledSkeleton","styled","div","baseStyling","baseInternalSpacing","_ref","$theme","Theme","light","css","_ref2"],"mappings":";;;;AAKA;AACA;AACA;AACA,MAAMA,IAAI,GAAGC,SAAU,CAAA;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAEYC,MAAAA,cAAc,GAAGC,MAAM,CAACC,GAAyB,CAAA;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,WAAY,CAAA;AAChB,EAAA,EAAIC,mBAAoB,CAAA;AACxB;AACA;AACA,oBAAA,EAAsBC,IAAA,IAAA;EAAA,IAAC;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAAD,IAAA,CAAA;EAAA,OAC7BC,MAAM,KAAKC,KAAK,CAACC,KAAK,GAAGC,GAAI,CAAA,mBAAA,CAAoB,GAAGA,GAAI,CAA0B,yBAAA,CAAA,CAAA;AAAA,CAAC,CAAA;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,uBAAA,EAAyBX,IAAK,CAAA;AAC9B,eAAA,EAAiBA,IAAK,CAAA;AACtB;AACA;AACA;AACA,MAAA,EAAQY,KAAA,IAAA;EAAA,IAAC;AAAEJ,IAAAA,MAAAA;AAAO,GAAC,GAAAI,KAAA,CAAA;EAAA,OAAMJ,MAAM,KAAKC,KAAK,CAACC,KAAK,GAAGC,GAAI,CAAA,mBAAA,CAAoB,GAAGA,GAAI,CAA0B,yBAAA,CAAA,CAAA;AAAA,CAAE,CAAA;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;"}
@@ -0,0 +1,18 @@
1
+ import { ComponentProps } from 'react';
2
+ import { StylingProps, InternalSpacingProps } from '../../types/styles.js';
3
+ import { Theme } from '../../types/colors.js';
4
+
5
+ /**
6
+ * Component props.
7
+ */
8
+ interface SkeletonProps extends ComponentProps<'div'>, StylingProps, InternalSpacingProps {
9
+ /** Whether the content is loaded and should be displayed instead of the skeleton. */
10
+ isLoaded?: boolean;
11
+ /** Theme. */
12
+ theme?: Theme;
13
+ }
14
+ type StyledSkeletonProps = SkeletonProps & {
15
+ $theme: SkeletonProps['theme'];
16
+ };
17
+
18
+ export { SkeletonProps, StyledSkeletonProps };