@adobe-commerce/elsie 1.0.0-alpha1

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 (507) hide show
  1. package/.elsie.js +12 -0
  2. package/.eslintrc.js +9 -0
  3. package/README.md +52 -0
  4. package/__mocks__/svg.js +1 -0
  5. package/bin/builders/build/index.js +20 -0
  6. package/bin/builders/generate/api/index.js +65 -0
  7. package/bin/builders/generate/api/templates/function.js +9 -0
  8. package/bin/builders/generate/api/templates/index.js +7 -0
  9. package/bin/builders/generate/api/templates/story.js +23 -0
  10. package/bin/builders/generate/api/templates/unit-test.js +15 -0
  11. package/bin/builders/generate/component/index.js +87 -0
  12. package/bin/builders/generate/component/templates/Component.js +43 -0
  13. package/bin/builders/generate/component/templates/css.js +24 -0
  14. package/bin/builders/generate/component/templates/index.js +8 -0
  15. package/bin/builders/generate/component/templates/stories.js +46 -0
  16. package/bin/builders/generate/component/templates/unit-test.js +19 -0
  17. package/bin/builders/generate/config/index.js +54 -0
  18. package/bin/builders/generate/config/templates/elsie.js +29 -0
  19. package/bin/builders/generate/container/index.js +65 -0
  20. package/bin/builders/generate/container/templates/Component.js +18 -0
  21. package/bin/builders/generate/container/templates/index.js +8 -0
  22. package/bin/builders/generate/container/templates/stories.js +34 -0
  23. package/bin/builders/generate/container/templates/unit-test.js +19 -0
  24. package/bin/builders/generate/index.js +283 -0
  25. package/bin/builders/gql/createOrClearDirectory.js +33 -0
  26. package/bin/builders/gql/getSchemaRef.js +25 -0
  27. package/bin/builders/gql/index.js +71 -0
  28. package/bin/builders/lint/index.js +5 -0
  29. package/bin/builders/serve/index.js +44 -0
  30. package/bin/builders/storybook/index.js +5 -0
  31. package/bin/builders/test/index.js +5 -0
  32. package/bin/index.js +26 -0
  33. package/bin/lib/cli.js +8 -0
  34. package/bin/lib/config.js +12 -0
  35. package/bin/lib/log-message.js +11 -0
  36. package/bin/lib/string.js +26 -0
  37. package/bin/lib/validate-typeof.js +19 -0
  38. package/bin/lib/write-file.js +21 -0
  39. package/bin/lib/write-parent-index.js +36 -0
  40. package/config/eslint.js +103 -0
  41. package/config/jest.js +81 -0
  42. package/config/prettier.js +7 -0
  43. package/config/setEnvVars.js +5 -0
  44. package/config/storybook/addon.js +121 -0
  45. package/config/storybook/components/FileTree/FileTree.jsx +183 -0
  46. package/config/storybook/components/FileTree/index.js +1 -0
  47. package/config/storybook/components/Flex/Flex.jsx +12 -0
  48. package/config/storybook/components/Flex/Flex.module.css +20 -0
  49. package/config/storybook/components/Flex/index.js +1 -0
  50. package/config/storybook/components/OptionsTable/OptionsTable.jsx +79 -0
  51. package/config/storybook/components/OptionsTable/OptionsTable.module.css +95 -0
  52. package/config/storybook/components/OptionsTable/index.js +1 -0
  53. package/config/storybook/components/Panel/Panel.module.css +47 -0
  54. package/config/storybook/components/Panel/Panel.tsx +37 -0
  55. package/config/storybook/components/Panel/index.ts +1 -0
  56. package/config/storybook/components/Screenshot/Screenshot.jsx +14 -0
  57. package/config/storybook/components/Screenshot/Screenshot.module.css +19 -0
  58. package/config/storybook/components/Screenshot/index.js +1 -0
  59. package/config/storybook/components/Steps/Steps.jsx +12 -0
  60. package/config/storybook/components/Steps/Steps.module.css +34 -0
  61. package/config/storybook/components/Steps/index.js +1 -0
  62. package/config/storybook/components/StoryWrapper/StoryWrapper.jsx +9 -0
  63. package/config/storybook/components/StoryWrapper/StoryWrapper.module.css +13 -0
  64. package/config/storybook/components/StoryWrapper/index.js +1 -0
  65. package/config/storybook/components/Summary/Summary.jsx +10 -0
  66. package/config/storybook/components/Summary/Summary.module.css +11 -0
  67. package/config/storybook/components/Summary/index.js +1 -0
  68. package/config/storybook/components/Variants/Variants.js +48 -0
  69. package/config/storybook/components/Variants/docs.css +39 -0
  70. package/config/storybook/components/Variants/index.js +1 -0
  71. package/config/storybook/components/video/index.jsx +19 -0
  72. package/config/storybook/manager.js +14 -0
  73. package/config/storybook/preview.jsx +79 -0
  74. package/config/storybook/theming/fonts.css +59 -0
  75. package/config/storybook/theming/logo.svg +19 -0
  76. package/config/storybook/theming/manager.css +54 -0
  77. package/config/storybook/theming/preview.css +84 -0
  78. package/config/storybook/theming/theme.js +52 -0
  79. package/config/tsconfig-base.json +16 -0
  80. package/config/tsconfig-preact.json +15 -0
  81. package/config/vite.mjs +297 -0
  82. package/dist/chunks/deviceUtils.js +14 -0
  83. package/dist/chunks/icons/Add.js +3 -0
  84. package/dist/chunks/icons/AddressBook.js +3 -0
  85. package/dist/chunks/icons/Bulk.js +3 -0
  86. package/dist/chunks/icons/Burger.js +3 -0
  87. package/dist/chunks/icons/Card.js +3 -0
  88. package/dist/chunks/icons/Cart.js +3 -0
  89. package/dist/chunks/icons/Check.js +3 -0
  90. package/dist/chunks/icons/CheckWithCircle.js +3 -0
  91. package/dist/chunks/icons/ChevronDown.js +3 -0
  92. package/dist/chunks/icons/ChevronRight.js +3 -0
  93. package/dist/chunks/icons/ChevronUp.js +3 -0
  94. package/dist/chunks/icons/Close.js +3 -0
  95. package/dist/chunks/icons/Coupon.js +3 -0
  96. package/dist/chunks/icons/Date.js +3 -0
  97. package/dist/chunks/icons/Delivery.js +3 -0
  98. package/dist/chunks/icons/EmptyBox.js +3 -0
  99. package/dist/chunks/icons/Eye.js +3 -0
  100. package/dist/chunks/icons/EyeClose.js +3 -0
  101. package/dist/chunks/icons/Gift.js +3 -0
  102. package/dist/chunks/icons/GiftCard.js +3 -0
  103. package/dist/chunks/icons/Heart.js +3 -0
  104. package/dist/chunks/icons/HeartFilled.js +3 -0
  105. package/dist/chunks/icons/InfoFilled.js +3 -0
  106. package/dist/chunks/icons/Locker.js +3 -0
  107. package/dist/chunks/icons/Minus.js +3 -0
  108. package/dist/chunks/icons/Order.js +3 -0
  109. package/dist/chunks/icons/OrderError.js +3 -0
  110. package/dist/chunks/icons/OrderSuccess.js +3 -0
  111. package/dist/chunks/icons/PaymentError.js +3 -0
  112. package/dist/chunks/icons/Placeholder.js +3 -0
  113. package/dist/chunks/icons/PlaceholderFilled.js +3 -0
  114. package/dist/chunks/icons/Search.js +3 -0
  115. package/dist/chunks/icons/SearchFilled.js +3 -0
  116. package/dist/chunks/icons/Sort.js +3 -0
  117. package/dist/chunks/icons/Star.js +3 -0
  118. package/dist/chunks/icons/Trash.js +3 -0
  119. package/dist/chunks/icons/User.js +3 -0
  120. package/dist/chunks/icons/View.js +3 -0
  121. package/dist/chunks/icons/Wallet.js +3 -0
  122. package/dist/chunks/icons/Warning.js +3 -0
  123. package/dist/chunks/icons/WarningFilled.js +3 -0
  124. package/dist/chunks/icons/WarningWithCircle.js +3 -0
  125. package/dist/chunks/image-params-keymap.js +3 -0
  126. package/dist/chunks/initializer.js +5 -0
  127. package/dist/components.d.ts +1 -0
  128. package/dist/components.js +3 -0
  129. package/dist/event-bus.d.ts +1 -0
  130. package/dist/event-bus.js +3 -0
  131. package/dist/fetch-graphql.d.ts +1 -0
  132. package/dist/fetch-graphql.js +3 -0
  133. package/dist/i18n.d.ts +1 -0
  134. package/dist/i18n.js +5 -0
  135. package/dist/initializer.d.ts +1 -0
  136. package/dist/initializer.js +5 -0
  137. package/dist/lib.d.ts +1 -0
  138. package/dist/lib.js +3 -0
  139. package/dist/preact-compat.d.ts +1 -0
  140. package/dist/preact-compat.js +3 -0
  141. package/dist/preact-hooks.d.ts +1 -0
  142. package/dist/preact-hooks.js +3 -0
  143. package/dist/preact-jsx-runtime.d.ts +1 -0
  144. package/dist/preact-jsx-runtime.js +3 -0
  145. package/dist/preact.d.ts +1 -0
  146. package/dist/preact.js +3 -0
  147. package/dist/recaptcha.d.ts +1 -0
  148. package/dist/recaptcha.js +14 -0
  149. package/dist/signals.d.ts +1 -0
  150. package/dist/signals.js +3 -0
  151. package/dist/types/elsie/src/components/Accordion/Accordion.d.ts +27 -0
  152. package/dist/types/elsie/src/components/Accordion/index.d.ts +3 -0
  153. package/dist/types/elsie/src/components/ActionButton/ActionButton.d.ts +11 -0
  154. package/dist/types/elsie/src/components/ActionButton/index.d.ts +2 -0
  155. package/dist/types/elsie/src/components/ActionButtonGroup/ActionButtonGroup.d.ts +20 -0
  156. package/dist/types/elsie/src/components/ActionButtonGroup/index.d.ts +2 -0
  157. package/dist/types/elsie/src/components/AlertBanner/AlertBanner.d.ts +15 -0
  158. package/dist/types/elsie/src/components/AlertBanner/index.d.ts +3 -0
  159. package/dist/types/elsie/src/components/Breadcrumbs/Breadcrumbs.d.ts +9 -0
  160. package/dist/types/elsie/src/components/Breadcrumbs/index.d.ts +3 -0
  161. package/dist/types/elsie/src/components/Button/Button.d.ts +15 -0
  162. package/dist/types/elsie/src/components/Button/index.d.ts +3 -0
  163. package/dist/types/elsie/src/components/Card/Card.d.ts +9 -0
  164. package/dist/types/elsie/src/components/Card/index.d.ts +2 -0
  165. package/dist/types/elsie/src/components/CartItem/CartItem.d.ts +36 -0
  166. package/dist/types/elsie/src/components/CartItem/CartItemSkeleton.d.ts +4 -0
  167. package/dist/types/elsie/src/components/CartItem/index.d.ts +4 -0
  168. package/dist/types/elsie/src/components/CartList/CartList.d.ts +7 -0
  169. package/dist/types/elsie/src/components/CartList/index.d.ts +3 -0
  170. package/dist/types/elsie/src/components/Checkbox/Checkbox.d.ts +13 -0
  171. package/dist/types/elsie/src/components/Checkbox/index.d.ts +2 -0
  172. package/dist/types/elsie/src/components/ColorSwatch/ColorSwatch.d.ts +20 -0
  173. package/dist/types/elsie/src/components/ColorSwatch/index.d.ts +3 -0
  174. package/dist/types/elsie/src/components/ContentGrid/ContentGrid.d.ts +10 -0
  175. package/dist/types/elsie/src/components/ContentGrid/index.d.ts +19 -0
  176. package/dist/types/elsie/src/components/Divider/Divider.d.ts +8 -0
  177. package/dist/types/elsie/src/components/Divider/index.d.ts +3 -0
  178. package/dist/types/elsie/src/components/Field/Field.d.ts +14 -0
  179. package/dist/types/elsie/src/components/Field/index.d.ts +2 -0
  180. package/dist/types/elsie/src/components/Header/Header.d.ts +11 -0
  181. package/dist/types/elsie/src/components/Header/index.d.ts +3 -0
  182. package/dist/types/elsie/src/components/Icon/Icon.d.ts +18 -0
  183. package/dist/types/elsie/src/components/Icon/index.d.ts +2 -0
  184. package/dist/types/elsie/src/components/IllustratedMessage/IllustratedMessage.d.ts +13 -0
  185. package/dist/types/elsie/src/components/IllustratedMessage/index.d.ts +3 -0
  186. package/dist/types/elsie/src/components/Image/Image.d.ts +11 -0
  187. package/dist/types/elsie/src/components/Image/index.d.ts +2 -0
  188. package/dist/types/elsie/src/components/ImageSwatch/ImageSwatch.d.ts +20 -0
  189. package/dist/types/elsie/src/components/ImageSwatch/index.d.ts +3 -0
  190. package/dist/types/elsie/src/components/InLineAlert/InLineAlert.d.ts +19 -0
  191. package/dist/types/elsie/src/components/InLineAlert/index.d.ts +3 -0
  192. package/dist/types/elsie/src/components/Incrementer/Incrementer.d.ts +17 -0
  193. package/dist/types/elsie/src/components/Incrementer/index.d.ts +2 -0
  194. package/dist/types/elsie/src/components/Input/Input.d.ts +19 -0
  195. package/dist/types/elsie/src/components/Input/index.d.ts +3 -0
  196. package/dist/types/elsie/src/components/InputDate/InputDate.d.ts +11 -0
  197. package/dist/types/elsie/src/components/InputDate/index.d.ts +3 -0
  198. package/dist/types/elsie/src/components/InputPassword/InputPassword.d.ts +19 -0
  199. package/dist/types/elsie/src/components/InputPassword/PasswordStatusIndicator/PasswordStatusIndicator.d.ts +18 -0
  200. package/dist/types/elsie/src/components/InputPassword/PasswordStatusIndicator/index.d.ts +3 -0
  201. package/dist/types/elsie/src/components/InputPassword/index.d.ts +3 -0
  202. package/dist/types/elsie/src/components/Modal/Modal.d.ts +15 -0
  203. package/dist/types/elsie/src/components/Modal/index.d.ts +2 -0
  204. package/dist/types/elsie/src/components/Pagination/Pagination.d.ts +15 -0
  205. package/dist/types/elsie/src/components/Pagination/index.d.ts +3 -0
  206. package/dist/types/elsie/src/components/Picker/Picker.d.ts +28 -0
  207. package/dist/types/elsie/src/components/Picker/index.d.ts +2 -0
  208. package/dist/types/elsie/src/components/Price/Price.d.ts +17 -0
  209. package/dist/types/elsie/src/components/Price/index.d.ts +2 -0
  210. package/dist/types/elsie/src/components/PriceRange/PriceRange.d.ts +17 -0
  211. package/dist/types/elsie/src/components/PriceRange/index.d.ts +3 -0
  212. package/dist/types/elsie/src/components/ProgressSpinner/ProgressSpinner.d.ts +14 -0
  213. package/dist/types/elsie/src/components/ProgressSpinner/index.d.ts +3 -0
  214. package/dist/types/elsie/src/components/RadioButton/RadioButton.d.ts +16 -0
  215. package/dist/types/elsie/src/components/RadioButton/index.d.ts +3 -0
  216. package/dist/types/elsie/src/components/Skeleton/Skeleton.d.ts +17 -0
  217. package/dist/types/elsie/src/components/Skeleton/index.d.ts +2 -0
  218. package/dist/types/elsie/src/components/Tag/Tag.d.ts +9 -0
  219. package/dist/types/elsie/src/components/Tag/index.d.ts +3 -0
  220. package/dist/types/elsie/src/components/TextArea/TextArea.d.ts +11 -0
  221. package/dist/types/elsie/src/components/TextArea/index.d.ts +3 -0
  222. package/dist/types/elsie/src/components/TextSwatch/TextSwatch.d.ts +18 -0
  223. package/dist/types/elsie/src/components/TextSwatch/index.d.ts +3 -0
  224. package/dist/types/elsie/src/components/ToggleButton/ToggleButton.d.ts +14 -0
  225. package/dist/types/elsie/src/components/ToggleButton/index.d.ts +3 -0
  226. package/dist/types/elsie/src/components/UIProvider/UIProvider.d.ts +19 -0
  227. package/dist/types/elsie/src/components/UIProvider/index.d.ts +2 -0
  228. package/dist/types/elsie/src/components/index.d.ts +41 -0
  229. package/dist/types/elsie/src/i18n/en_US.json.d.ts +149 -0
  230. package/dist/types/elsie/src/i18n/index.d.ts +443 -0
  231. package/dist/types/elsie/src/icons/index.d.ts +43 -0
  232. package/dist/types/elsie/src/lib/classes.d.ts +6 -0
  233. package/dist/types/elsie/src/lib/config.d.ts +7 -0
  234. package/dist/types/elsie/src/lib/debounce.d.ts +2 -0
  235. package/dist/types/elsie/src/lib/deepmerge.d.ts +5 -0
  236. package/dist/types/elsie/src/lib/deviceUtils.d.ts +2 -0
  237. package/dist/types/elsie/src/lib/form-values.d.ts +5 -0
  238. package/dist/types/elsie/src/lib/i18n.d.ts +8 -0
  239. package/dist/types/elsie/src/lib/image-params-keymap.d.ts +4 -0
  240. package/dist/types/elsie/src/lib/index.d.ts +16 -0
  241. package/dist/types/elsie/src/lib/initializer.d.ts +81 -0
  242. package/dist/types/elsie/src/lib/is-number.d.ts +2 -0
  243. package/dist/types/elsie/src/lib/render.d.ts +42 -0
  244. package/dist/types/elsie/src/lib/resolve-image.d.ts +10 -0
  245. package/dist/types/elsie/src/lib/signals.d.ts +2 -0
  246. package/dist/types/elsie/src/lib/slot.d.ts +45 -0
  247. package/dist/types/elsie/src/lib/tests.d.ts +5 -0
  248. package/dist/types/elsie/src/lib/types.d.ts +10 -0
  249. package/dist/types/elsie/src/lib/vcomponent.d.ts +9 -0
  250. package/package.json +114 -0
  251. package/src/components/Accordion/Accordion.css +79 -0
  252. package/src/components/Accordion/Accordion.stories.tsx +566 -0
  253. package/src/components/Accordion/Accordion.tsx +166 -0
  254. package/src/components/Accordion/index.ts +2 -0
  255. package/src/components/ActionButton/ActionButton.css +91 -0
  256. package/src/components/ActionButton/ActionButton.stories.tsx +160 -0
  257. package/src/components/ActionButton/ActionButton.tsx +44 -0
  258. package/src/components/ActionButton/index.ts +1 -0
  259. package/src/components/ActionButtonGroup/ActionButtonGroup.css +68 -0
  260. package/src/components/ActionButtonGroup/ActionButtonGroup.stories.tsx +88 -0
  261. package/src/components/ActionButtonGroup/ActionButtonGroup.tsx +82 -0
  262. package/src/components/ActionButtonGroup/index.ts +1 -0
  263. package/src/components/AlertBanner/AlertBanner.css +135 -0
  264. package/src/components/AlertBanner/AlertBanner.stories.tsx +156 -0
  265. package/src/components/AlertBanner/AlertBanner.tsx +81 -0
  266. package/src/components/AlertBanner/index.ts +2 -0
  267. package/src/components/Breadcrumbs/Breadcrumbs.css +51 -0
  268. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +186 -0
  269. package/src/components/Breadcrumbs/Breadcrumbs.tsx +62 -0
  270. package/src/components/Breadcrumbs/index.ts +2 -0
  271. package/src/components/Button/Button.css +204 -0
  272. package/src/components/Button/Button.mdx +133 -0
  273. package/src/components/Button/Button.stories.tsx +389 -0
  274. package/src/components/Button/Button.tsx +112 -0
  275. package/src/components/Button/index.ts +2 -0
  276. package/src/components/Card/Card.css +25 -0
  277. package/src/components/Card/Card.stories.tsx +67 -0
  278. package/src/components/Card/Card.tsx +25 -0
  279. package/src/components/Card/index.ts +1 -0
  280. package/src/components/CartItem/CartItem.css +474 -0
  281. package/src/components/CartItem/CartItem.stories.tsx +588 -0
  282. package/src/components/CartItem/CartItem.tsx +444 -0
  283. package/src/components/CartItem/CartItemSkeleton.tsx +29 -0
  284. package/src/components/CartItem/index.ts +3 -0
  285. package/src/components/CartList/CartList.css +26 -0
  286. package/src/components/CartList/CartList.stories.tsx +102 -0
  287. package/src/components/CartList/CartList.tsx +31 -0
  288. package/src/components/CartList/index.ts +2 -0
  289. package/src/components/Checkbox/Checkbox.css +246 -0
  290. package/src/components/Checkbox/Checkbox.stories.tsx +281 -0
  291. package/src/components/Checkbox/Checkbox.tsx +129 -0
  292. package/src/components/Checkbox/index.ts +1 -0
  293. package/src/components/ColorSwatch/ColorSwatch.css +123 -0
  294. package/src/components/ColorSwatch/ColorSwatch.stories.tsx +265 -0
  295. package/src/components/ColorSwatch/ColorSwatch.tsx +118 -0
  296. package/src/components/ColorSwatch/index.ts +2 -0
  297. package/src/components/ContentGrid/ContentGrid.css +62 -0
  298. package/src/components/ContentGrid/ContentGrid.stories.tsx +145 -0
  299. package/src/components/ContentGrid/ContentGrid.tsx +65 -0
  300. package/src/components/ContentGrid/index.ts +19 -0
  301. package/src/components/Divider/Divider.css +13 -0
  302. package/src/components/Divider/Divider.stories.tsx +53 -0
  303. package/src/components/Divider/Divider.tsx +24 -0
  304. package/src/components/Divider/index.ts +2 -0
  305. package/src/components/Field/Field.css +74 -0
  306. package/src/components/Field/Field.stories.tsx +229 -0
  307. package/src/components/Field/Field.tsx +75 -0
  308. package/src/components/Field/index.ts +1 -0
  309. package/src/components/Header/Header.css +47 -0
  310. package/src/components/Header/Header.stories.tsx +128 -0
  311. package/src/components/Header/Header.tsx +53 -0
  312. package/src/components/Header/index.ts +2 -0
  313. package/src/components/Icon/Icon.css +17 -0
  314. package/src/components/Icon/Icon.stories.helpers.jsx +12 -0
  315. package/src/components/Icon/Icon.stories.tsx +88 -0
  316. package/src/components/Icon/Icon.tsx +103 -0
  317. package/src/components/Icon/index.ts +1 -0
  318. package/src/components/IllustratedMessage/IllustratedMessage.css +52 -0
  319. package/src/components/IllustratedMessage/IllustratedMessage.stories.tsx +117 -0
  320. package/src/components/IllustratedMessage/IllustratedMessage.tsx +69 -0
  321. package/src/components/IllustratedMessage/index.ts +2 -0
  322. package/src/components/Image/Image.css +43 -0
  323. package/src/components/Image/Image.stories.tsx +80 -0
  324. package/src/components/Image/Image.tsx +57 -0
  325. package/src/components/Image/index.ts +1 -0
  326. package/src/components/ImageSwatch/ImageSwatch.css +145 -0
  327. package/src/components/ImageSwatch/ImageSwatch.stories.tsx +252 -0
  328. package/src/components/ImageSwatch/ImageSwatch.tsx +111 -0
  329. package/src/components/ImageSwatch/index.ts +2 -0
  330. package/src/components/InLineAlert/InLineAlert.css +107 -0
  331. package/src/components/InLineAlert/InLineAlert.stories.tsx +317 -0
  332. package/src/components/InLineAlert/InLineAlert.tsx +119 -0
  333. package/src/components/InLineAlert/index.ts +2 -0
  334. package/src/components/Incrementer/Incrementer.css +156 -0
  335. package/src/components/Incrementer/Incrementer.stories.tsx +163 -0
  336. package/src/components/Incrementer/Incrementer.tsx +183 -0
  337. package/src/components/Incrementer/index.ts +1 -0
  338. package/src/components/Input/Input.css +295 -0
  339. package/src/components/Input/Input.stories.tsx +146 -0
  340. package/src/components/Input/Input.tsx +157 -0
  341. package/src/components/Input/index.ts +2 -0
  342. package/src/components/InputDate/InputDate.css +47 -0
  343. package/src/components/InputDate/InputDate.stories.tsx +108 -0
  344. package/src/components/InputDate/InputDate.tsx +111 -0
  345. package/src/components/InputDate/index.ts +2 -0
  346. package/src/components/InputPassword/InputPassword.css +22 -0
  347. package/src/components/InputPassword/InputPassword.stories.tsx +139 -0
  348. package/src/components/InputPassword/InputPassword.tsx +126 -0
  349. package/src/components/InputPassword/PasswordStatusIndicator/PasswordStatusIndicator.css +22 -0
  350. package/src/components/InputPassword/PasswordStatusIndicator/PasswordStatusIndicator.tsx +87 -0
  351. package/src/components/InputPassword/PasswordStatusIndicator/index.ts +2 -0
  352. package/src/components/InputPassword/index.ts +2 -0
  353. package/src/components/Modal/Modal.css +130 -0
  354. package/src/components/Modal/Modal.stories.tsx +255 -0
  355. package/src/components/Modal/Modal.tsx +162 -0
  356. package/src/components/Modal/index.ts +15 -0
  357. package/src/components/Pagination/Pagination.css +86 -0
  358. package/src/components/Pagination/Pagination.stories.tsx +108 -0
  359. package/src/components/Pagination/Pagination.tsx +140 -0
  360. package/src/components/Pagination/index.ts +2 -0
  361. package/src/components/Picker/Picker.css +211 -0
  362. package/src/components/Picker/Picker.stories.tsx +309 -0
  363. package/src/components/Picker/Picker.tsx +194 -0
  364. package/src/components/Picker/index.ts +1 -0
  365. package/src/components/Price/Price.css +48 -0
  366. package/src/components/Price/Price.stories.tsx +101 -0
  367. package/src/components/Price/Price.tsx +66 -0
  368. package/src/components/Price/index.ts +1 -0
  369. package/src/components/PriceRange/PriceRange.css +57 -0
  370. package/src/components/PriceRange/PriceRange.stories.tsx +231 -0
  371. package/src/components/PriceRange/PriceRange.tsx +239 -0
  372. package/src/components/PriceRange/index.ts +2 -0
  373. package/src/components/ProgressSpinner/ProgressSpinner.css +82 -0
  374. package/src/components/ProgressSpinner/ProgressSpinner.stories.tsx +291 -0
  375. package/src/components/ProgressSpinner/ProgressSpinner.tsx +77 -0
  376. package/src/components/ProgressSpinner/index.ts +2 -0
  377. package/src/components/RadioButton/RadioButton.css +125 -0
  378. package/src/components/RadioButton/RadioButton.stories.tsx +117 -0
  379. package/src/components/RadioButton/RadioButton.tsx +77 -0
  380. package/src/components/RadioButton/index.ts +2 -0
  381. package/src/components/Skeleton/Skeleton.css +136 -0
  382. package/src/components/Skeleton/Skeleton.stories.tsx +256 -0
  383. package/src/components/Skeleton/Skeleton.tsx +124 -0
  384. package/src/components/Skeleton/index.ts +1 -0
  385. package/src/components/Tag/Tag.css +17 -0
  386. package/src/components/Tag/Tag.stories.tsx +94 -0
  387. package/src/components/Tag/Tag.tsx +29 -0
  388. package/src/components/Tag/index.ts +2 -0
  389. package/src/components/TextArea/TextArea.css +131 -0
  390. package/src/components/TextArea/TextArea.stories.tsx +121 -0
  391. package/src/components/TextArea/TextArea.tsx +80 -0
  392. package/src/components/TextArea/index.ts +2 -0
  393. package/src/components/TextSwatch/TextSwatch.css +143 -0
  394. package/src/components/TextSwatch/TextSwatch.stories.tsx +268 -0
  395. package/src/components/TextSwatch/TextSwatch.tsx +122 -0
  396. package/src/components/TextSwatch/index.ts +2 -0
  397. package/src/components/ToggleButton/ToggleButton.css +77 -0
  398. package/src/components/ToggleButton/ToggleButton.stories.tsx +146 -0
  399. package/src/components/ToggleButton/ToggleButton.tsx +67 -0
  400. package/src/components/ToggleButton/index.ts +2 -0
  401. package/src/components/UIProvider/UIProvider.css +131 -0
  402. package/src/components/UIProvider/UIProvider.tsx +52 -0
  403. package/src/components/UIProvider/debugger.css +38 -0
  404. package/src/components/UIProvider/index.ts +1 -0
  405. package/src/components/UIProvider/normalize.css +17 -0
  406. package/src/components/index.ts +40 -0
  407. package/src/docs/API/event-bus.mdx +52 -0
  408. package/src/docs/API/graphql.mdx +214 -0
  409. package/src/docs/API/initializer.mdx +110 -0
  410. package/src/docs/API/render.mdx +125 -0
  411. package/src/docs/Design/colors.mdx +202 -0
  412. package/src/docs/Design/designBlocks.jsx +87 -0
  413. package/src/docs/Design/getTokenData.ts +28 -0
  414. package/src/docs/Design/grid.mdx +365 -0
  415. package/src/docs/Design/overview.mdx +69 -0
  416. package/src/docs/Design/shapes.mdx +100 -0
  417. package/src/docs/Design/spacing.mdx +22 -0
  418. package/src/docs/Design/typography.mdx +126 -0
  419. package/src/docs/Utilities/classList.mdx +52 -0
  420. package/src/docs/Utilities/debounce.mdx +49 -0
  421. package/src/docs/Utilities/deepmerge.mdx +12 -0
  422. package/src/docs/Utilities/getFormErrors.mdx +41 -0
  423. package/src/docs/Utilities/getFormValues.mdx +38 -0
  424. package/src/docs/assets/Banner.png +0 -0
  425. package/src/docs/assets/Colors.png +0 -0
  426. package/src/docs/assets/DropinBanner.png +0 -0
  427. package/src/docs/assets/ShapeStyles.png +0 -0
  428. package/src/docs/assets/Spacing.png +0 -0
  429. package/src/docs/assets/Typography.png +0 -0
  430. package/src/docs/cli-usage.mdx +181 -0
  431. package/src/docs/components/overview.mdx +124 -0
  432. package/src/docs/quick-start.mdx +245 -0
  433. package/src/docs/slots.mdx +211 -0
  434. package/src/docs/welcome.mdx +52 -0
  435. package/src/i18n/en_US.json +146 -0
  436. package/src/i18n/index.ts +17 -0
  437. package/src/icons/Add.svg +9 -0
  438. package/src/icons/AddressBook.svg +3 -0
  439. package/src/icons/Bulk.svg +24 -0
  440. package/src/icons/Burger.svg +5 -0
  441. package/src/icons/Card.svg +7 -0
  442. package/src/icons/Cart.svg +11 -0
  443. package/src/icons/Check.svg +8 -0
  444. package/src/icons/CheckWithCircle.svg +4 -0
  445. package/src/icons/ChevronDown.svg +3 -0
  446. package/src/icons/ChevronRight.svg +8 -0
  447. package/src/icons/ChevronUp.svg +3 -0
  448. package/src/icons/Close.svg +4 -0
  449. package/src/icons/Coupon.svg +3 -0
  450. package/src/icons/Date.svg +4 -0
  451. package/src/icons/Delivery.svg +11 -0
  452. package/src/icons/EmptyBox.svg +3 -0
  453. package/src/icons/Eye.svg +3 -0
  454. package/src/icons/EyeClose.svg +3 -0
  455. package/src/icons/Gift.svg +3 -0
  456. package/src/icons/GiftCard.svg +3 -0
  457. package/src/icons/Heart.svg +3 -0
  458. package/src/icons/HeartFilled.svg +3 -0
  459. package/src/icons/InfoFilled.svg +3 -0
  460. package/src/icons/Locker.svg +11 -0
  461. package/src/icons/Minus.svg +3 -0
  462. package/src/icons/Order.svg +6 -0
  463. package/src/icons/OrderError.svg +15 -0
  464. package/src/icons/OrderSuccess.svg +15 -0
  465. package/src/icons/PaymentError.svg +16 -0
  466. package/src/icons/Placeholder.svg +3 -0
  467. package/src/icons/PlaceholderFilled.svg +4 -0
  468. package/src/icons/Search.svg +9 -0
  469. package/src/icons/SearchFilled.svg +10 -0
  470. package/src/icons/Sort.svg +12 -0
  471. package/src/icons/Star.svg +8 -0
  472. package/src/icons/Trash.svg +7 -0
  473. package/src/icons/User.svg +5 -0
  474. package/src/icons/View.svg +14 -0
  475. package/src/icons/Wallet.svg +6 -0
  476. package/src/icons/Warning.svg +12 -0
  477. package/src/icons/WarningFilled.svg +3 -0
  478. package/src/icons/WarningWithCircle.svg +4 -0
  479. package/src/icons/index.ts +42 -0
  480. package/src/lib/classes.ts +25 -0
  481. package/src/lib/config.ts +15 -0
  482. package/src/lib/debounce.ts +7 -0
  483. package/src/lib/deepmerge.ts +36 -0
  484. package/src/lib/deviceUtils.ts +7 -0
  485. package/src/lib/form-values.ts +22 -0
  486. package/src/lib/i18n.ts +9 -0
  487. package/src/lib/image-params-keymap.ts +25 -0
  488. package/src/lib/index.ts +15 -0
  489. package/src/lib/initializer.ts +122 -0
  490. package/src/lib/is-number.ts +3 -0
  491. package/src/lib/render.tsx +129 -0
  492. package/src/lib/resolve-image.ts +77 -0
  493. package/src/lib/signals.ts +2 -0
  494. package/src/lib/slot.tsx +425 -0
  495. package/src/lib/tests.tsx +38 -0
  496. package/src/lib/types.ts +7 -0
  497. package/src/lib/vcomponent.tsx +47 -0
  498. package/static/assets/images/Card.png +0 -0
  499. package/static/assets/images/example.jpg +0 -0
  500. package/static/assets/images/index.ts +2 -0
  501. package/static/dropin.png +0 -0
  502. package/static/favicon.svg +14 -0
  503. package/storybook-stories.js +12 -0
  504. package/tests/__mocks__/browserMocks.ts +19 -0
  505. package/tests/__mocks__/fileMocks.ts +3 -0
  506. package/tests/__mocks__/styleMock.ts +0 -0
  507. package/types/icons.d.ts +9 -0
@@ -0,0 +1,126 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import { Block, TokenDefinitions } from './designBlocks.jsx';
3
+ import typeData from '@adobe/storefront-design/base/typography/typography.json';
4
+ import { getTokenData } from './getTokenData';
5
+ export const tokenData = getTokenData(typeData);
6
+ export const tokenNames = tokenData.map((token) => token.name);
7
+
8
+ <Meta title="Design/Typography" />
9
+ <Unstyled>
10
+
11
+ export const SampleText = ({ font, spacing }) => {
12
+ return (
13
+ <div style={{ font: `var(${font})`, letterSpacing: `var(${spacing})` }}>
14
+ The quick brown fox jumps over the lazy dog
15
+ </div>
16
+ );
17
+ };
18
+
19
+ export const Typography = ({ prefix }) => (
20
+ <>
21
+ <TokenDefinitions
22
+ tokenData={tokenData.filter((data) => data.name.startsWith(prefix))}
23
+ />
24
+ <Block style={{ padding: 'var(--spacing-xsmall)' }}>
25
+ <SampleText
26
+ font={`${prefix}-font`}
27
+ spacing={`${prefix}-letter-spacing`}
28
+ />
29
+ </Block>
30
+ </>
31
+ );
32
+
33
+ # Typography
34
+
35
+ Use typography scale set to present your design and content as clearly and efficiently as possible.
36
+ These text style perfeclty fit for 4px grid and go well with each other.
37
+
38
+ ## Base
39
+
40
+ <Typography prefix="--type-base-font-family" />
41
+
42
+ ## Display
43
+
44
+ ### Display 1
45
+
46
+ <Typography prefix="--type-display-1" />
47
+
48
+ ### Display 2
49
+
50
+ <Typography prefix="--type-display-2" />
51
+
52
+ ### Display 3
53
+
54
+ <Typography prefix="--type-display-3" />
55
+
56
+ ## Headlines
57
+
58
+ ### Headline 1
59
+
60
+ <Typography prefix="--type-headline-1" />
61
+
62
+ ### Headline 2
63
+
64
+ #### Default
65
+
66
+ <Typography prefix="--type-headline-2-default" />
67
+
68
+ #### Strong
69
+
70
+ <Typography prefix="--type-headline-2-strong" />
71
+
72
+ ## Body
73
+
74
+ ### Body 1
75
+
76
+ #### Default
77
+
78
+ <Typography prefix="--type-body-1-default" />
79
+
80
+ #### Strong
81
+
82
+ <Typography prefix="--type-body-1-strong" />
83
+
84
+ #### Emphasized
85
+
86
+ <Typography prefix="--type-body-1-emphasized" />
87
+
88
+ ### Body 2
89
+
90
+ #### Default
91
+
92
+ <Typography prefix="--type-body-2-default" />
93
+
94
+ #### Strong
95
+
96
+ <Typography prefix="--type-body-2-strong" />
97
+
98
+ #### Emphasized
99
+
100
+ <Typography prefix="--type-body-2-emphasized" />
101
+
102
+ ## Button
103
+
104
+ ### Button 1
105
+
106
+ <Typography prefix="--type-button-1" />
107
+
108
+ ### Button 2
109
+
110
+ <Typography prefix="--type-button-2" />
111
+
112
+ ## Details
113
+
114
+ ### Caption 1
115
+
116
+ <Typography prefix="--type-details-caption-1" />
117
+
118
+ ### Caption 2
119
+
120
+ <Typography prefix="--type-details-caption-2" />
121
+
122
+ ### Overline
123
+
124
+ <Typography prefix="--type-details-overline" />
125
+
126
+ </Unstyled>
@@ -0,0 +1,52 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="Utilities/classList" />
4
+ <Unstyled>
5
+
6
+ # classes(classList)
7
+
8
+ This function takes in an array of classes and returns a string of space separated entries that can be used for CSS classname assignments.
9
+
10
+ ## Params
11
+
12
+ `classList`
13
+ : An array containing strings or `<string,boolean>` arrays
14
+
15
+ ## Returns
16
+
17
+ Returns a string of space separated entries that can be used for CSS classname assignments.
18
+
19
+ ## Examples
20
+
21
+ ```ts
22
+ import { classes } from '@adobe/elsie/lib';
23
+
24
+ type ClassList = Array<string | [string, boolean] | undefined>;
25
+
26
+ const classList: ClassList = ['class-1', 'class-2', 'class-3'];
27
+
28
+ const result = classes(classList);
29
+
30
+ console.log(result); // "class-1 class-2 class-3"
31
+ ```
32
+
33
+ You can use a `<string,boolean>` array to control whether a class should be included or omitted from the final classes list.
34
+
35
+ ```ts
36
+ import { classes } from '@adobe/elsie/lib';
37
+
38
+ type ClassList = Array<string | [string, boolean] | undefined>;
39
+
40
+ const classList: ClassList = [
41
+ 'class-1',
42
+ ['class-2', true],
43
+ ['class-3', false],
44
+ 'class-4',
45
+ ];
46
+
47
+ const result = classes(classList);
48
+
49
+ console.log(result); // "class-1 class-2 class-4"
50
+ ```
51
+
52
+ </Unstyled>
@@ -0,0 +1,49 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="Utilities/debounce" />
4
+ <Unstyled>
5
+
6
+ # debounce(fn, ms)
7
+
8
+ This function provides a way to delay callback execution or prevent overcalling a function until certain conditions are met.
9
+
10
+ ## Params
11
+
12
+ `fn`
13
+ : The callback function to be executed
14
+
15
+ `ms`
16
+ : Time(in milliseconds) to delay callback execution
17
+
18
+ ## Returns
19
+
20
+ A debounce version of the original callback function.
21
+ This function can be treated like the original callback, except when called, the delay timer resets.
22
+
23
+ ## Examples
24
+
25
+ ```ts
26
+ import { debounce } from '@adobe/elsie/ore/lib';
27
+
28
+ const debouncedLog = debounce(console.log, 500);
29
+
30
+ debouncedLog('Do not log this string');
31
+
32
+ // Wait 250ms
33
+
34
+ debouncedLog('Do not log this string'); // Resets delay timer
35
+
36
+ // Wait 250ms
37
+
38
+ debouncedLog('Do not log this string'); // Resets delay timer
39
+
40
+ // Wait 250ms
41
+
42
+ debouncedLog('Log this string'); // Resets delay timer
43
+
44
+ // Wait 500ms
45
+
46
+ // 'Log this string' is logged to the console and no other messages have been logged
47
+ ```
48
+
49
+ </Unstyled>
@@ -0,0 +1,12 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="Utilities/deepmerge" />
4
+ <Unstyled>
5
+
6
+ # deepmerge
7
+
8
+ Merges the enumerable properties of two or more objects deeply.
9
+
10
+ See: https://www.npmjs.com/package/deepmerge
11
+
12
+ </Unstyled>
@@ -0,0 +1,41 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="Utilities/getFormErrors" />
4
+ <Unstyled>
5
+
6
+ # getFormErrors(form)
7
+
8
+ Returns every form error in an HTML form element.
9
+
10
+ ## Params
11
+
12
+ `form`
13
+ : An HTMLFormElement
14
+
15
+ ## Returns
16
+
17
+ A JavaScript object containing the form errors
18
+
19
+ ## Examples
20
+
21
+ ```html
22
+ <form>
23
+ <input name="foo" required value="Foo" />
24
+ <input name="bar" required />
25
+ <input name="age" type="number" value="uno" />
26
+ <input name="website" type="url" value="url" />
27
+ <input name="e-mail" type="email" value="email@" />
28
+ </form>
29
+ ```
30
+
31
+ ```ts
32
+ import { getFormErrors } from '@adobe/elsie/ore/lib';
33
+
34
+ const formElement = container.querySelector('form') as HTMLFormElement;
35
+
36
+ const errors = getFormErrors(formElement);
37
+
38
+ console.log(errors); // { bar: 'Constraints not satisfied', website: 'Constraints not satisfied', 'e-mail': 'Constraints not satisfied', }
39
+ ```
40
+
41
+ </Unstyled>
@@ -0,0 +1,38 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="Utilities/getFormValues" />
4
+ <Unstyled>
5
+
6
+ # getFormValues(form)
7
+
8
+ Transforms the data in an HTML form element into a JavaScript object.
9
+
10
+ ## Params
11
+
12
+ `form`
13
+ : An HTMLFormElement
14
+
15
+ ## Returns
16
+
17
+ A JavaScript object containing the form data
18
+
19
+ ## Examples
20
+
21
+ ```html
22
+ <form>
23
+ <input name="foo" required value="Foo" />
24
+ <input name="bar" required value="Bar" />
25
+ </form>
26
+ ```
27
+
28
+ ```ts
29
+ import { getFormValues } from '@adobe/elsie/ore/lib';
30
+
31
+ const formElement = container.querySelector('form') as HTMLFormElement;
32
+
33
+ const values = getFormValues(formElement);
34
+
35
+ console.log(values); // { bar: 'Bar', foo: 'Foo' }
36
+ ```
37
+
38
+ </Unstyled>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,181 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+
3
+ <Meta title="CLI usage" />
4
+ <Unstyled>
5
+
6
+ # CLI usage
7
+
8
+ To see all the available CLI commands in the terminal, use the `--help` flag:
9
+
10
+ ```bash
11
+ npx elsie --help
12
+ ```
13
+
14
+ ## `gql`
15
+
16
+ The `gql` command can generate types and mocks for your GraphQL API and Operations. Files will
17
+ be generated in `<domain package root>/src/__generated__/`.
18
+
19
+ To use it, you must first configure your `.elsie.js` with the necessary values:
20
+
21
+ ```js
22
+ // For Adobe Commerce Catalog Service
23
+ schema: {
24
+ endpoint: "https://catalog-service-sandbox.adobe.io/graphql",
25
+ headers: {
26
+ "MAGENTO-ENVIRONMENT-ID": "..."
27
+ "MAGENTO-STORE-VIEW-CODE": "..."
28
+ "MAGENTO-WEBSITE-CODE": "..."
29
+ "MAGENTO-STORE-CODE": "..."
30
+ "MAGENTO-CUSTOMER-GROUP": "..."
31
+ "API-KEY": "..."
32
+ }
33
+ }
34
+ ```
35
+
36
+ ```js
37
+ // For Adobe Mesh API
38
+ schema: {
39
+ endpoint: "https://graph.adobe.io/api/.../graphql?api_key=...",
40
+ headers: {
41
+ "some-mesh-specific-header": "mesh-header-value"
42
+ }
43
+ }
44
+ ```
45
+
46
+ ```js
47
+ // For Adobe Commerce (non-Mesh)
48
+ schema: {
49
+ endpoint: "https://commerce-backend-url.test.graphql",
50
+ headers: {}
51
+ }
52
+ ```
53
+
54
+ Then the following commands will generate to `src/__generated__/`:
55
+
56
+ ```bash
57
+ npx elsie gql types
58
+ ```
59
+
60
+ ```bash
61
+ npx elsie gql mocks
62
+ ```
63
+
64
+ **Note**: In order to generate types for your _client_ operations you **must** have your operations in files using the \*.graphql.ts extension, and you **must** prepend the query string with `/\* graphql \*/` (the [magic comment](https://the-guild.dev/graphql/codegen/docs/config-reference/documents-field#graphql-tag-pluck) is case insensitive).
65
+
66
+ Example:
67
+
68
+ ```
69
+ export const CREATE_CART = /* graphql */ `
70
+ mutation createCart {
71
+ cartId: createEmptyCart
72
+ }
73
+ `;
74
+ ```
75
+
76
+ ## `generate`
77
+
78
+ Summary list of commands for quick copy/paste.
79
+
80
+ ```bash
81
+ npx elsie generate config --name <Domain>
82
+ ```
83
+
84
+ ```bash
85
+ npx elsie generate component --pathname <MyUIComponent>
86
+ ```
87
+
88
+ ```bash
89
+ npx elsie generate container --pathname <MyContainer>
90
+ ```
91
+
92
+ ```bash
93
+ npx elsie generate api --pathname <myApiFunction>
94
+ ```
95
+
96
+ ## Add Config
97
+
98
+ Generate a new `.elsie.js` configuration file for the project.
99
+
100
+ ```bash
101
+ npx elsie generate config --name <Domain>
102
+ ```
103
+
104
+ ```javascript
105
+ module.exports = {
106
+ name: '<Domain>',
107
+ api: {
108
+ root: './src/api',
109
+ importAliasRoot: '@/<Domain>/api',
110
+ },
111
+ components: [
112
+ {
113
+ id: 'Components',
114
+ root: './src/components',
115
+ importAliasRoot: '@/<Domain>/components',
116
+ cssPrefix: 'dropin',
117
+ default: true,
118
+ },
119
+ ],
120
+ containers: {
121
+ root: './src/containers',
122
+ importAliasRoot: '@/<Domain>/containers',
123
+ },
124
+ schema: {
125
+ endpoint: process.env.ENDPOINT,
126
+ // Add necessary headers
127
+ headers: {},
128
+ },
129
+ };
130
+ ```
131
+
132
+ ## Add Component
133
+
134
+ Generate a new UI Component for the project.
135
+
136
+ ```bash
137
+ npx elsie generate component --pathname <MyUIComponent>
138
+ ```
139
+
140
+ ```bash
141
+ 🆕 src/components/LoginForm/LoginForm.css created
142
+ 🆕 src/components/LoginForm/LoginForm.stories.tsx created
143
+ 🆕 src/components/LoginForm/LoginForm.test.tsx created
144
+ 🆕 src/components/LoginForm/LoginForm.tsx created
145
+ 🆕 src/components/LoginForm/index.ts created
146
+ ✍️ src/components/index.ts updated
147
+ ```
148
+
149
+ ## Add Container
150
+
151
+ Generate a new Frontend Container for the project.
152
+
153
+ ```bash
154
+ npx elsie generate container --pathname <MyContainer>
155
+ ```
156
+
157
+ ```bash
158
+ 🆕 src/containers/Login/Login.stories.tsx created
159
+ 🆕 src/containers/Login/Login.test.tsx created
160
+ 🆕 src/containers/Login/Login.tsx created
161
+ 🆕 src/containers/Login/index.ts created
162
+ ✍️ src/containers/index.ts updated
163
+ ```
164
+
165
+ ## Add Function
166
+
167
+ Generate a new API function for the project.
168
+
169
+ ```bash
170
+ npx elsie generate api --pathname <myApiFunction>
171
+ ```
172
+
173
+ ```console
174
+ 🆕 src/api/login/login.mdx created
175
+ 🆕 src/api/login/login.test.ts created
176
+ 🆕 src/api/login/login.ts created
177
+ 🆕 src/api/login/index.ts created
178
+ ✍️ src/api/index.ts updated
179
+ ```
180
+
181
+ </Unstyled>
@@ -0,0 +1,124 @@
1
+ import { Meta, Unstyled } from '@storybook/blocks';
2
+ import { Flex } from '@adobe/elsie/config/storybook/components/Flex';
3
+ import { Panel } from '@adobe/elsie/config/storybook/components/Panel';
4
+ import {
5
+ Button,
6
+ ActionButton,
7
+ Picker,
8
+ Divider,
9
+ Card,
10
+ Field,
11
+ Incrementer,
12
+ Input,
13
+ Checkbox,
14
+ } from '@adobe/elsie/src/components';
15
+
16
+ <Meta title="Components/Overview" />
17
+ <Unstyled>
18
+
19
+ # Drop-in component library
20
+
21
+ The component library provides a flexible set of interactive building blocks, such as actions, containment,
22
+ navigation, text, and selection elements, thought to create unique tailored
23
+ commerce user interfaces.
24
+
25
+ **NOTE**: Not all components are listed below. Refer to the left-side navigation for a complete list of components.
26
+
27
+ ## Actions
28
+
29
+ <Flex>
30
+ <Panel header footer>
31
+ <ActionButton>Action Button</ActionButton>
32
+ ### Action Button
33
+ Action buttons allow users to perform an action or mark a selection in task-based options, and are ideal for buttons that aren't meant to draw a lot of attention.
34
+
35
+ [Learn more](/docs/components-actionbutton--overview)
36
+ </Panel>
37
+
38
+ <Panel header footer>
39
+ <Button variant="primary">Button</Button>
40
+ ### Button
41
+ Buttons allow users to perform actions or to navigate to another page. They have multiple styles for each need, and call user attention to move forward in a flow.
42
+
43
+ [Learn more](/docs/components-button--overview)
44
+ </Panel>
45
+ </Flex>
46
+
47
+ ## Containment
48
+
49
+ <Flex>
50
+ <Panel header footer>
51
+ <Card variant='secondary' style={{width: '250px'}}>
52
+ <p style={{ font: 'var(--type-body-2-default-font)' }}>
53
+ This is a short description of the item and should be kept to two or
54
+ three lines as maximum.
55
+ </p>
56
+ </Card>
57
+ ### Card
58
+ Card is a general purpose container with different combination of semantics that can be used to hold and create related groups of information and actions.
59
+
60
+ [Learn more](/docs/components-card--overview)
61
+ </Panel>
62
+
63
+ <Panel header footer>
64
+ <div style={{ width: '200px' }}>
65
+ <Divider variant="secondary" />
66
+ </div>
67
+ ### Divider
68
+ Dividers bring clarity to a layout by grouping and dividing content by proximity, establish rhythm, and creating hierarchy.
69
+
70
+ [Learn more](/docs/components-divider--overview)
71
+ </Panel>
72
+ </Flex>
73
+
74
+ ## Selection controls
75
+
76
+ <Flex>
77
+ <Panel header footer>
78
+ <Checkbox name="checkboxField" label="Option" width="auto" />
79
+ ### Checkbox
80
+ Checkboxes allow users to select multiple items from a list of individual items, or to mark one individual item as selected.
81
+
82
+ [Learn more](/docs/components-checkbox--overview)
83
+ </Panel>
84
+
85
+ <Panel header footer>
86
+ <Field size="medium" label="Label" hint="Helper text">
87
+ <Input variant="primary" />
88
+ </Field>
89
+ ### Field
90
+ Form fields allow users to combine input entries with various displayed options to communicate field requirements.
91
+
92
+ [Learn more](/docs/components-field--overview)
93
+ </Panel>
94
+
95
+ <Panel header footer>
96
+ <Incrementer defaultValue="1" min={0} max={100} size="medium" />
97
+ ### Incrementer
98
+ Incrementer enable users to make selections for numerical values in a specific range by clicking on the component or by typing a value.
99
+
100
+ [Learn more](/docs/components-incrementer--overview)
101
+ </Panel>
102
+
103
+ <Panel header footer>
104
+ <Picker options={[]} />
105
+ ### Picker
106
+ Pickers, also known as "dropdowns" or "selects", allow users to choose from a list of options in a limited space. The list of options can change based on the context.
107
+
108
+ [Learn more](/docs/components-picker--overview)
109
+ </Panel>
110
+ </Flex>
111
+
112
+ ## Text inputs
113
+
114
+ <Flex>
115
+ <Panel header footer>
116
+ <Input variant="primary" placeholder="Placeholder" />
117
+ ### Text field
118
+ Text fields allow users to input custom text entries with a keyboard.
119
+
120
+ [Learn more](/docs/components-input--overview)
121
+ </Panel>
122
+ </Flex>
123
+
124
+ </Unstyled>