@tripie-pyotato/design-system 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (486) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint$colon$fix.log +22 -0
  3. package/.turbo/turbo-lint.log +18 -0
  4. package/.turbo/turbo-test.log +152 -0
  5. package/.turbo/turbo-typecheck.log +5 -0
  6. package/coverage/clover.xml +1651 -0
  7. package/coverage/coverage-final.json +57 -0
  8. package/coverage/lcov-report/base.css +224 -0
  9. package/coverage/lcov-report/block-navigation.js +87 -0
  10. package/coverage/lcov-report/dist/button.js.html +112 -0
  11. package/coverage/lcov-report/dist/common.js.html +127 -0
  12. package/coverage/lcov-report/dist/components/body/_body.js.html +157 -0
  13. package/coverage/lcov-report/dist/components/body/_body.stories.js.html +193 -0
  14. package/coverage/lcov-report/dist/components/body/index.html +146 -0
  15. package/coverage/lcov-report/dist/components/body/index.js.html +109 -0
  16. package/coverage/lcov-report/dist/components/index.html +116 -0
  17. package/coverage/lcov-report/dist/components/index.js.html +127 -0
  18. package/coverage/lcov-report/dist/components/myButton/index.html +161 -0
  19. package/coverage/lcov-report/dist/components/myButton/index.js.html +154 -0
  20. package/coverage/lcov-report/dist/components/myButton/my-button.js.html +109 -0
  21. package/coverage/lcov-report/dist/components/myButton/myButton.js.html +133 -0
  22. package/coverage/lcov-report/dist/components/myButton/myButton.stories.js.html +181 -0
  23. package/coverage/lcov-report/dist/components/typography/_typography.js.html +190 -0
  24. package/coverage/lcov-report/dist/components/typography/_typography.stories.js.html +352 -0
  25. package/coverage/lcov-report/dist/components/typography/index.html +146 -0
  26. package/coverage/lcov-report/dist/components/typography/index.js.html +154 -0
  27. package/coverage/lcov-report/dist/components/typography/text/_text.js.html +139 -0
  28. package/coverage/lcov-report/dist/components/typography/text/_text.stories.js.html +259 -0
  29. package/coverage/lcov-report/dist/components/typography/text/index.html +146 -0
  30. package/coverage/lcov-report/dist/components/typography/text/index.js.html +160 -0
  31. package/coverage/lcov-report/dist/fonts/index.html +116 -0
  32. package/coverage/lcov-report/dist/fonts/index.js.html +154 -0
  33. package/coverage/lcov-report/dist/hooks/index.html +131 -0
  34. package/coverage/lcov-report/dist/hooks/index.js.html +136 -0
  35. package/coverage/lcov-report/dist/hooks/useAppTheme.js.html +202 -0
  36. package/coverage/lcov-report/dist/index.html +161 -0
  37. package/coverage/lcov-report/dist/index.js.html +139 -0
  38. package/coverage/lcov-report/dist/my-button.js.html +109 -0
  39. package/coverage/lcov-report/dist/myButton/Button.stories.js.html +229 -0
  40. package/coverage/lcov-report/dist/myButton/index.html +161 -0
  41. package/coverage/lcov-report/dist/myButton/index.js.html +154 -0
  42. package/coverage/lcov-report/dist/myButton/myButton.js.html +133 -0
  43. package/coverage/lcov-report/dist/myButton/myButton.stories.js.html +181 -0
  44. package/coverage/lcov-report/dist/text/index.html +176 -0
  45. package/coverage/lcov-report/dist/text/index.js.html +139 -0
  46. package/coverage/lcov-report/dist/text/text.js.html +151 -0
  47. package/coverage/lcov-report/dist/text/text.stories.js.html +232 -0
  48. package/coverage/lcov-report/dist/text/typography.js.html +160 -0
  49. package/coverage/lcov-report/dist/text/typography.stories.js.html +166 -0
  50. package/coverage/lcov-report/favicon.png +0 -0
  51. package/coverage/lcov-report/index.html +431 -0
  52. package/coverage/lcov-report/prettify.css +1 -0
  53. package/coverage/lcov-report/prettify.js +2 -0
  54. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  55. package/coverage/lcov-report/sorter.js +196 -0
  56. package/coverage/lcov-report/src/components/body/_body.stories.tsx.html +196 -0
  57. package/coverage/lcov-report/src/components/body/_body.tsx.html +163 -0
  58. package/coverage/lcov-report/src/components/body/index.html +146 -0
  59. package/coverage/lcov-report/src/components/body/index.ts.html +88 -0
  60. package/coverage/lcov-report/src/components/index.html +116 -0
  61. package/coverage/lcov-report/src/components/index.ts.html +97 -0
  62. package/coverage/lcov-report/src/components/myButton/index.html +161 -0
  63. package/coverage/lcov-report/src/components/myButton/index.ts.html +91 -0
  64. package/coverage/lcov-report/src/components/myButton/my-button.tsx.html +109 -0
  65. package/coverage/lcov-report/src/components/myButton/myButton.stories.tsx.html +220 -0
  66. package/coverage/lcov-report/src/components/myButton/myButton.tsx.html +160 -0
  67. package/coverage/lcov-report/src/components/typography/font/_font.tsx.html +127 -0
  68. package/coverage/lcov-report/src/components/typography/font/index.html +131 -0
  69. package/coverage/lcov-report/src/components/typography/font/index.ts.html +91 -0
  70. package/coverage/lcov-report/src/components/typography/headings/_headings.stories.tsx.html +361 -0
  71. package/coverage/lcov-report/src/components/typography/headings/_headings.tsx.html +211 -0
  72. package/coverage/lcov-report/src/components/typography/headings/index.html +146 -0
  73. package/coverage/lcov-report/src/components/typography/headings/index.ts.html +91 -0
  74. package/coverage/lcov-report/src/components/typography/index.html +116 -0
  75. package/coverage/lcov-report/src/components/typography/index.ts.html +91 -0
  76. package/coverage/lcov-report/src/components/typography/link/_link.stories.tsx.html +268 -0
  77. package/coverage/lcov-report/src/components/typography/link/_link.tsx.html +199 -0
  78. package/coverage/lcov-report/src/components/typography/link/index.html +146 -0
  79. package/coverage/lcov-report/src/components/typography/link/index.ts.html +91 -0
  80. package/coverage/lcov-report/src/components/typography/paragraph/_paragraph.stories.tsx.html +229 -0
  81. package/coverage/lcov-report/src/components/typography/paragraph/_paragraph.tsx.html +124 -0
  82. package/coverage/lcov-report/src/components/typography/paragraph/index.html +131 -0
  83. package/coverage/lcov-report/src/components/typography/text/_text.stories.tsx.html +184 -0
  84. package/coverage/lcov-report/src/components/typography/text/_text.tsx.html +196 -0
  85. package/coverage/lcov-report/src/components/typography/text/index.html +146 -0
  86. package/coverage/lcov-report/src/components/typography/text/index.ts.html +91 -0
  87. package/coverage/lcov-report/src/hooks/index.html +131 -0
  88. package/coverage/lcov-report/src/hooks/index.ts.html +88 -0
  89. package/coverage/lcov-report/src/hooks/useAppTheme.ts.html +220 -0
  90. package/coverage/lcov-report/src/index.html +116 -0
  91. package/coverage/lcov-report/src/index.ts.html +91 -0
  92. package/coverage/lcov-report/turbo/generators/config.ts.html +175 -0
  93. package/coverage/lcov-report/turbo/generators/index.html +116 -0
  94. package/coverage/lcov.info +2087 -0
  95. package/dist/button.d.ts +7 -0
  96. package/dist/button.d.ts.map +1 -0
  97. package/dist/button.js +9 -0
  98. package/dist/common.d.ts +12 -0
  99. package/dist/common.d.ts.map +1 -0
  100. package/dist/common.js +14 -0
  101. package/dist/components/body/_body.d.ts +8 -0
  102. package/dist/components/body/_body.d.ts.map +1 -0
  103. package/dist/components/body/_body.js +24 -0
  104. package/dist/components/body/_body.stories.d.ts +7 -0
  105. package/dist/components/body/_body.stories.d.ts.map +1 -0
  106. package/dist/components/body/_body.stories.js +36 -0
  107. package/dist/components/body/index.d.ts +2 -0
  108. package/dist/components/body/index.d.ts.map +1 -0
  109. package/dist/components/body/index.js +8 -0
  110. package/dist/components/index.d.ts +5 -0
  111. package/dist/components/index.d.ts.map +1 -0
  112. package/dist/components/index.js +14 -0
  113. package/dist/components/myButton/index.d.ts +3 -0
  114. package/dist/components/myButton/index.d.ts.map +1 -0
  115. package/dist/components/myButton/index.js +23 -0
  116. package/dist/components/myButton/my-button.d.ts +4 -0
  117. package/dist/components/myButton/my-button.d.ts.map +1 -0
  118. package/dist/components/myButton/my-button.js +8 -0
  119. package/dist/components/myButton/myButton.d.ts +7 -0
  120. package/dist/components/myButton/myButton.d.ts.map +1 -0
  121. package/dist/components/myButton/myButton.js +16 -0
  122. package/dist/components/myButton/myButton.stories.d.ts +7 -0
  123. package/dist/components/myButton/myButton.stories.d.ts.map +1 -0
  124. package/dist/components/myButton/myButton.stories.js +32 -0
  125. package/dist/components/typography/_typography.d.ts +23 -0
  126. package/dist/components/typography/_typography.d.ts.map +1 -0
  127. package/dist/components/typography/_typography.js +35 -0
  128. package/dist/components/typography/_typography.stories.d.ts +13 -0
  129. package/dist/components/typography/_typography.stories.d.ts.map +1 -0
  130. package/dist/components/typography/_typography.stories.js +89 -0
  131. package/dist/components/typography/index.d.ts +3 -0
  132. package/dist/components/typography/index.d.ts.map +1 -0
  133. package/dist/components/typography/index.js +23 -0
  134. package/dist/components/typography/text/_text.d.ts +19 -0
  135. package/dist/components/typography/text/_text.d.ts.map +1 -0
  136. package/dist/components/typography/text/_text.js +18 -0
  137. package/dist/components/typography/text/_text.stories.d.ts +10 -0
  138. package/dist/components/typography/text/_text.stories.d.ts.map +1 -0
  139. package/dist/components/typography/text/_text.stories.js +58 -0
  140. package/dist/components/typography/text/index.d.ts +3 -0
  141. package/dist/components/typography/text/index.d.ts.map +1 -0
  142. package/dist/components/typography/text/index.js +25 -0
  143. package/dist/fonts/index.d.ts +3 -0
  144. package/dist/fonts/index.d.ts.map +1 -0
  145. package/dist/fonts/index.js +23 -0
  146. package/dist/hooks/index.d.ts +2 -0
  147. package/dist/hooks/index.d.ts.map +1 -0
  148. package/dist/hooks/index.js +17 -0
  149. package/dist/hooks/useAppTheme.d.ts +21 -0
  150. package/dist/hooks/useAppTheme.d.ts.map +1 -0
  151. package/dist/hooks/useAppTheme.js +39 -0
  152. package/dist/index.d.ts +3 -0
  153. package/dist/index.d.ts.map +1 -0
  154. package/dist/index.js +18 -0
  155. package/dist/my-button.d.ts +4 -0
  156. package/dist/my-button.d.ts.map +1 -0
  157. package/dist/my-button.js +8 -0
  158. package/dist/myButton/Button.stories.d.ts +8 -0
  159. package/dist/myButton/Button.stories.d.ts.map +1 -0
  160. package/dist/myButton/Button.stories.js +48 -0
  161. package/dist/myButton/index.d.ts +3 -0
  162. package/dist/myButton/index.d.ts.map +1 -0
  163. package/dist/myButton/index.js +23 -0
  164. package/dist/myButton/myButton.d.ts +7 -0
  165. package/dist/myButton/myButton.d.ts.map +1 -0
  166. package/dist/myButton/myButton.js +16 -0
  167. package/dist/myButton/myButton.stories.d.ts +7 -0
  168. package/dist/myButton/myButton.stories.d.ts.map +1 -0
  169. package/dist/myButton/myButton.stories.js +32 -0
  170. package/dist/src/components/Accordian/Accordian.jsx +61 -0
  171. package/dist/src/components/Accordian/accordian.stories.jsx +76 -0
  172. package/dist/src/components/Accordian/index.js +21 -0
  173. package/dist/src/components/Accordian/variants.js +46 -0
  174. package/dist/src/components/Carousel/Carousel.jsx +84 -0
  175. package/dist/src/components/Carousel/Carousel.spec.jsx +203 -0
  176. package/dist/src/components/Carousel/carousel.stories.jsx +56 -0
  177. package/dist/src/components/Carousel/images.js +40 -0
  178. package/dist/src/components/Carousel/index.js +20 -0
  179. package/dist/src/components/Chip/Chip.jsx +27 -0
  180. package/dist/src/components/Chip/Chip.spec.jsx +103 -0
  181. package/dist/src/components/Chip/chip.stories.jsx +61 -0
  182. package/dist/src/components/Chip/index.js +20 -0
  183. package/dist/src/components/ChipMarker/ChipMarker.jsx +17 -0
  184. package/dist/src/components/ChipMarker/chip.stories.jsx +42 -0
  185. package/dist/src/components/ChipMarker/index.js +20 -0
  186. package/dist/src/components/Divider/Divider.jsx +21 -0
  187. package/dist/src/components/Divider/constants.js +10 -0
  188. package/dist/src/components/Divider/divider.stories.jsx +72 -0
  189. package/dist/src/components/Divider/index.js +20 -0
  190. package/dist/src/components/Headings/Headings.jsx +37 -0
  191. package/dist/src/components/Headings/headings.stories.jsx +83 -0
  192. package/dist/src/components/Headings/index.js +20 -0
  193. package/dist/src/components/Link/Link.jsx +26 -0
  194. package/dist/src/components/Link/List.spec.jsx +22 -0
  195. package/dist/src/components/Link/index.js +20 -0
  196. package/dist/src/components/Link/link.stories.jsx +53 -0
  197. package/dist/src/components/List/List.jsx +29 -0
  198. package/dist/src/components/List/list-item.stories.jsx +81 -0
  199. package/dist/src/components/List/list.stories.jsx +45 -0
  200. package/dist/src/components/List/variants.js +24 -0
  201. package/dist/src/components/MotionSlideUp/MotionSlideUp.jsx +20 -0
  202. package/dist/src/components/MotionSlideUp/index.js +20 -0
  203. package/dist/src/components/Particle/Background/ParticleBackground.jsx +16 -0
  204. package/dist/src/components/Particle/Background/index.js +20 -0
  205. package/dist/src/components/Particle/Background/particle-background.stories.jsx +29 -0
  206. package/dist/src/components/Particle/Field/ParticleField.jsx +17 -0
  207. package/dist/src/components/Particle/Field/index.js +20 -0
  208. package/dist/src/components/Particle/Field/particle-field.stories.jsx +31 -0
  209. package/dist/src/components/Particle/Particles/Particles.jsx +15 -0
  210. package/dist/src/components/RotatingBlur/RotatingBlur.jsx +19 -0
  211. package/dist/src/components/RotatingBlur/index.js +20 -0
  212. package/dist/src/components/RotatingBlur/rotating-blur.stories.jsx +38 -0
  213. package/dist/src/components/SplashScreen/SplashScreen.jsx +22 -0
  214. package/dist/src/components/SplashScreen/index.js +20 -0
  215. package/dist/src/components/SplashScreen/splash-screen.stories.jsx +44 -0
  216. package/dist/src/components/Switch/Switch.jsx +18 -0
  217. package/dist/src/components/Switch/index.js +20 -0
  218. package/dist/src/components/Switch/switch.stories.jsx +31 -0
  219. package/dist/src/components/Switch/variants.js +35 -0
  220. package/dist/src/components/Text/Text.jsx +72 -0
  221. package/dist/src/components/Text/index.js +20 -0
  222. package/dist/src/components/Text/text.stories.jsx +44 -0
  223. package/dist/src/components/Text/variants.js +40 -0
  224. package/dist/src/components/TextFill/TextFillAnimation.jsx +51 -0
  225. package/dist/src/components/TextFill/index.js +20 -0
  226. package/dist/src/components/TextFill/text-fill-animation.stories.jsx +51 -0
  227. package/dist/src/components/TextUnderlineAnimation/TextUnderlineAnimation.jsx +16 -0
  228. package/dist/src/components/TextUnderlineAnimation/index.js +20 -0
  229. package/dist/src/components/TextUnderlineAnimation/text-underline-animation.stories.jsx +34 -0
  230. package/dist/src/components/TextUnderlineAnimation/variants.js +24 -0
  231. package/dist/src/components/TripieButton/Animated/AnimateButton.spec.jsx +106 -0
  232. package/dist/src/components/TripieButton/Animated/AnimatedButton.jsx +16 -0
  233. package/dist/src/components/TripieButton/Animated/animated-button.stories.jsx +58 -0
  234. package/dist/src/components/TripieButton/Animated/index.js +20 -0
  235. package/dist/src/components/TripieButton/Animated/variants.js +15 -0
  236. package/dist/src/components/TripieButton/MenuToggle/MenuItem/index.jsx +15 -0
  237. package/dist/src/components/TripieButton/MenuToggle/MenuItem/menu-item.stories.jsx +36 -0
  238. package/dist/src/components/TripieButton/MenuToggle/MenuItem/variants.js +19 -0
  239. package/dist/src/components/TripieButton/MenuToggle/MenuList/index.jsx +15 -0
  240. package/dist/src/components/TripieButton/MenuToggle/MenuList/menu-list.stories.jsx +41 -0
  241. package/dist/src/components/TripieButton/MenuToggle/MenuList/variants.js +15 -0
  242. package/dist/src/components/TripieButton/MenuToggle/MenuToggle.jsx +45 -0
  243. package/dist/src/components/TripieButton/MenuToggle/index.js +20 -0
  244. package/dist/src/components/TripieButton/MenuToggle/menu-toggle.stories.jsx +55 -0
  245. package/dist/src/components/TripieButton/NoStyle/NoStyleButton.jsx +12 -0
  246. package/dist/src/components/TripieButton/NoStyle/NoStyleButton.spec.jsx +87 -0
  247. package/dist/src/components/TripieButton/NoStyle/index.js +20 -0
  248. package/dist/src/components/TripieButton/NoStyle/no-style-button.stories.jsx +29 -0
  249. package/dist/src/components/TripieCard/Card.jsx +57 -0
  250. package/dist/src/components/TripieCard/card.stories.jsx +45 -0
  251. package/dist/src/components/TripieCard/index.js +20 -0
  252. package/dist/src/components/TripieContainer/TripieContainer.jsx +23 -0
  253. package/dist/src/components/TripieContainer/index.js +20 -0
  254. package/dist/src/components/TripieContainer/tripie-container.stories.jsx +70 -0
  255. package/dist/src/components/TripieIcon/Icon.jsx +84 -0
  256. package/dist/src/components/TripieIcon/icon-transport.stories.jsx +89 -0
  257. package/dist/src/components/TripieIcon/icon.stories.jsx +68 -0
  258. package/dist/src/components/TripieIcon/index.js +20 -0
  259. package/dist/src/components/TripieIcon/variants.js +172 -0
  260. package/dist/src/components/TripieImage/TripieImage.jsx +25 -0
  261. package/dist/src/components/TripieImage/index.js +20 -0
  262. package/dist/src/components/TripieImage/tripie-image.stories.jsx +86 -0
  263. package/dist/src/components/TripieSkeleton/Skeleton.jsx +30 -0
  264. package/dist/src/components/TripieSkeleton/index.js +20 -0
  265. package/dist/src/components/TripieSkeleton/skeleton.stories.jsx +28 -0
  266. package/dist/src/components/index.js +54 -0
  267. package/dist/src/font.js +12 -0
  268. package/dist/src/hooks/index.js +19 -0
  269. package/dist/src/hooks/useAppTheme.js +33 -0
  270. package/dist/src/hooks/useCycle.js +32 -0
  271. package/dist/src/hooks/useDrawer.js +21 -0
  272. package/dist/src/index.js +19 -0
  273. package/dist/src/shared/colors.js +20 -0
  274. package/dist/src/shared/index.js +19 -0
  275. package/dist/src/shared/resource.js +26 -0
  276. package/dist/src/shared/variants.js +66 -0
  277. package/dist/text/index.d.ts +3 -0
  278. package/dist/text/index.d.ts.map +1 -0
  279. package/dist/text/index.js +18 -0
  280. package/dist/text/text.d.ts +47 -0
  281. package/dist/text/text.d.ts.map +1 -0
  282. package/dist/text/text.js +22 -0
  283. package/dist/text/text.stories.d.ts +10 -0
  284. package/dist/text/text.stories.d.ts.map +1 -0
  285. package/dist/text/text.stories.js +49 -0
  286. package/dist/text/typography.d.ts +18 -0
  287. package/dist/text/typography.d.ts.map +1 -0
  288. package/dist/text/typography.js +25 -0
  289. package/dist/text/typography.stories.d.ts +7 -0
  290. package/dist/text/typography.stories.d.ts.map +1 -0
  291. package/dist/text/typography.stories.js +27 -0
  292. package/dist/turbo/generators/config.js +30 -0
  293. package/jest.config.cjs +21 -0
  294. package/jest.setup.cjs +4 -0
  295. package/package.json +80 -0
  296. package/setupTests.mjs +39 -0
  297. package/src/base/_breakpoint.scss +15 -0
  298. package/src/base/_colors.scss +98 -0
  299. package/src/base/_config.scss +33 -0
  300. package/src/base/_font-size.scss +17 -0
  301. package/src/base/_font-stack.scss +27 -0
  302. package/src/base/_font-weight.scss +23 -0
  303. package/src/base/_letter-spacing.scss +12 -0
  304. package/src/base/_line-height.scss +12 -0
  305. package/src/base/_motion.scss +35 -0
  306. package/src/base/_shape.scss +19 -0
  307. package/src/base/_space.scss +58 -0
  308. package/src/base/_theme.scss +97 -0
  309. package/src/base/_z-index.scss +44 -0
  310. package/src/base/index.scss +13 -0
  311. package/src/components/Accordian/Accordian.tsx +72 -0
  312. package/src/components/Accordian/accordian.module.scss +18 -0
  313. package/src/components/Accordian/accordian.stories.tsx +86 -0
  314. package/src/components/Accordian/index.ts +3 -0
  315. package/src/components/Accordian/variants.ts +45 -0
  316. package/src/components/Carousel/Carousel.spec.tsx +239 -0
  317. package/src/components/Carousel/Carousel.tsx +131 -0
  318. package/src/components/Carousel/carousel.module.scss +61 -0
  319. package/src/components/Carousel/carousel.stories.tsx +117 -0
  320. package/src/components/Carousel/images.ts +44 -0
  321. package/src/components/Carousel/index.ts +2 -0
  322. package/src/components/Chip/Chip.spec.tsx +59 -0
  323. package/src/components/Chip/Chip.tsx +64 -0
  324. package/src/components/Chip/chip.module.scss +79 -0
  325. package/src/components/Chip/chip.stories.tsx +70 -0
  326. package/src/components/Chip/index.ts +2 -0
  327. package/src/components/ChipMarker/ChipMarker.tsx +20 -0
  328. package/src/components/ChipMarker/chip-marker.module.scss +75 -0
  329. package/src/components/ChipMarker/chip.stories.tsx +48 -0
  330. package/src/components/ChipMarker/index.ts +2 -0
  331. package/src/components/Divider/Divider.tsx +29 -0
  332. package/src/components/Divider/constants.ts +9 -0
  333. package/src/components/Divider/divider.module.scss +37 -0
  334. package/src/components/Divider/divider.stories.tsx +94 -0
  335. package/src/components/Divider/index.ts +2 -0
  336. package/src/components/Headings/Headings.tsx +36 -0
  337. package/src/components/Headings/headings.module.scss +46 -0
  338. package/src/components/Headings/headings.stories.tsx +92 -0
  339. package/src/components/Headings/index.ts +2 -0
  340. package/src/components/Link/Link.tsx +31 -0
  341. package/src/components/Link/List.spec.tsx +25 -0
  342. package/src/components/Link/index.ts +2 -0
  343. package/src/components/Link/link.module.scss +26 -0
  344. package/src/components/Link/link.stories.tsx +61 -0
  345. package/src/components/List/List.tsx +63 -0
  346. package/src/components/List/list-item.stories.tsx +89 -0
  347. package/src/components/List/list.module.scss +59 -0
  348. package/src/components/List/list.stories.tsx +65 -0
  349. package/src/components/List/variants.ts +23 -0
  350. package/src/components/MotionSlideUp/MotionSlideUp.tsx +37 -0
  351. package/src/components/MotionSlideUp/index.ts +2 -0
  352. package/src/components/Particle/Background/ParticleBackground.tsx +18 -0
  353. package/src/components/Particle/Background/index.ts +2 -0
  354. package/src/components/Particle/Background/particle-background.module.scss +25 -0
  355. package/src/components/Particle/Background/particle-background.stories.tsx +36 -0
  356. package/src/components/Particle/Field/ParticleField.tsx +28 -0
  357. package/src/components/Particle/Field/index.ts +2 -0
  358. package/src/components/Particle/Field/particle-field.module.scss +6 -0
  359. package/src/components/Particle/Field/particle-field.stories.tsx +38 -0
  360. package/src/components/Particle/Particles/Particles.tsx +22 -0
  361. package/src/components/Particle/Particles/particles.module.scss +19 -0
  362. package/src/components/RotatingBlur/RotatingBlur.tsx +26 -0
  363. package/src/components/RotatingBlur/index.ts +2 -0
  364. package/src/components/RotatingBlur/rotating-blur.module.scss +59 -0
  365. package/src/components/RotatingBlur/rotating-blur.stories.tsx +45 -0
  366. package/src/components/SplashScreen/SplashScreen.tsx +31 -0
  367. package/src/components/SplashScreen/index.ts +2 -0
  368. package/src/components/SplashScreen/splash-screen.module.scss +12 -0
  369. package/src/components/SplashScreen/splash-screen.stories.tsx +53 -0
  370. package/src/components/Switch/Switch.tsx +33 -0
  371. package/src/components/Switch/index.ts +2 -0
  372. package/src/components/Switch/switch.module.scss +43 -0
  373. package/src/components/Switch/switch.stories.tsx +36 -0
  374. package/src/components/Switch/variants.ts +34 -0
  375. package/src/components/Text/Text.tsx +158 -0
  376. package/src/components/Text/index.ts +2 -0
  377. package/src/components/Text/text.module.scss +84 -0
  378. package/src/components/Text/text.stories.tsx +52 -0
  379. package/src/components/Text/variants.ts +53 -0
  380. package/src/components/TextFill/TextFillAnimation.tsx +87 -0
  381. package/src/components/TextFill/index.ts +2 -0
  382. package/src/components/TextFill/text-fill-animation.module.scss +37 -0
  383. package/src/components/TextFill/text-fill-animation.stories.tsx +61 -0
  384. package/src/components/TextUnderlineAnimation/TextUnderlineAnimation.tsx +37 -0
  385. package/src/components/TextUnderlineAnimation/index.ts +2 -0
  386. package/src/components/TextUnderlineAnimation/text-underline-animation.stories.tsx +39 -0
  387. package/src/components/TextUnderlineAnimation/text-underline.module.scss +13 -0
  388. package/src/components/TextUnderlineAnimation/variants.ts +23 -0
  389. package/src/components/TripieButton/Animated/AnimateButton.spec.tsx +84 -0
  390. package/src/components/TripieButton/Animated/AnimatedButton.tsx +88 -0
  391. package/src/components/TripieButton/Animated/animated-button.module.scss +61 -0
  392. package/src/components/TripieButton/Animated/animated-button.stories.tsx +68 -0
  393. package/src/components/TripieButton/Animated/index.ts +2 -0
  394. package/src/components/TripieButton/MenuToggle/MenuItem/index.tsx +28 -0
  395. package/src/components/TripieButton/MenuToggle/MenuItem/menu-item.module.scss +14 -0
  396. package/src/components/TripieButton/MenuToggle/MenuItem/menu-item.stories.tsx +42 -0
  397. package/src/components/TripieButton/MenuToggle/MenuItem/variants.ts +18 -0
  398. package/src/components/TripieButton/MenuToggle/MenuList/index.tsx +20 -0
  399. package/src/components/TripieButton/MenuToggle/MenuList/menu-list.module.scss +21 -0
  400. package/src/components/TripieButton/MenuToggle/MenuList/menu-list.stories.tsx +51 -0
  401. package/src/components/TripieButton/MenuToggle/MenuList/variants.ts +14 -0
  402. package/src/components/TripieButton/MenuToggle/MenuToggle.tsx +67 -0
  403. package/src/components/TripieButton/MenuToggle/index.ts +2 -0
  404. package/src/components/TripieButton/MenuToggle/menu-toggle.module.scss +42 -0
  405. package/src/components/TripieButton/MenuToggle/menu-toggle.stories.tsx +73 -0
  406. package/src/components/TripieButton/NoStyle/NoStyleButton.spec.tsx +50 -0
  407. package/src/components/TripieButton/NoStyle/NoStyleButton.tsx +27 -0
  408. package/src/components/TripieButton/NoStyle/index.ts +2 -0
  409. package/src/components/TripieButton/NoStyle/no-style-button.module.scss +5 -0
  410. package/src/components/TripieButton/NoStyle/no-style-button.stories.tsx +34 -0
  411. package/src/components/TripieCard/Card.tsx +167 -0
  412. package/src/components/TripieCard/card.module.scss +122 -0
  413. package/src/components/TripieCard/card.stories.tsx +66 -0
  414. package/src/components/TripieCard/index.ts +2 -0
  415. package/src/components/TripieContainer/TripieContainer.tsx +54 -0
  416. package/src/components/TripieContainer/index.ts +2 -0
  417. package/src/components/TripieContainer/tripie-container.module.scss +93 -0
  418. package/src/components/TripieContainer/tripie-container.stories.tsx +81 -0
  419. package/src/components/TripieIcon/Icon.tsx +242 -0
  420. package/src/components/TripieIcon/icon-transport.stories.tsx +108 -0
  421. package/src/components/TripieIcon/icon.module.scss +35 -0
  422. package/src/components/TripieIcon/icon.stories.tsx +81 -0
  423. package/src/components/TripieIcon/index.ts +2 -0
  424. package/src/components/TripieIcon/variants.ts +177 -0
  425. package/src/components/TripieImage/TripieImage.tsx +90 -0
  426. package/src/components/TripieImage/index.ts +2 -0
  427. package/src/components/TripieImage/tripie-image.module.scss +73 -0
  428. package/src/components/TripieImage/tripie-image.stories.tsx +128 -0
  429. package/src/components/TripieSkeleton/Skeleton.tsx +27 -0
  430. package/src/components/TripieSkeleton/index.ts +2 -0
  431. package/src/components/TripieSkeleton/skeleton.module.scss +7 -0
  432. package/src/components/TripieSkeleton/skeleton.stories.tsx +32 -0
  433. package/src/components/index.ts +25 -0
  434. package/src/font.ts +12 -0
  435. package/src/functions/_breakpoint.scss +21 -0
  436. package/src/functions/_color.scss +63 -0
  437. package/src/functions/_config.scss +27 -0
  438. package/src/functions/_shape.scss +29 -0
  439. package/src/functions/_space.scss +28 -0
  440. package/src/functions/_typography.scss +101 -0
  441. package/src/functions/_units.scss +66 -0
  442. package/src/functions/_z-index.scss +21 -0
  443. package/src/functions/index.scss +8 -0
  444. package/src/generator/_generator.scss +21 -0
  445. package/src/generator/index.scss +1 -0
  446. package/src/global.scss +49 -0
  447. package/src/hooks/index.ts +3 -0
  448. package/src/hooks/useAppTheme.ts +41 -0
  449. package/src/hooks/useCycle.ts +28 -0
  450. package/src/hooks/useDrawer.ts +29 -0
  451. package/src/index.ts +3 -0
  452. package/src/mixins/_border.scss +83 -0
  453. package/src/mixins/_clear.scss +21 -0
  454. package/src/mixins/_color.scss +19 -0
  455. package/src/mixins/_default.scss +40 -0
  456. package/src/mixins/_media.scss +26 -0
  457. package/src/mixins/_normalize.scss +353 -0
  458. package/src/mixins/_positioning.scss +34 -0
  459. package/src/mixins/_pseudo.scss +39 -0
  460. package/src/mixins/_reset.scss +70 -0
  461. package/src/mixins/_shape.scss +12 -0
  462. package/src/mixins/_skeleton.scss +89 -0
  463. package/src/mixins/_text.scss +52 -0
  464. package/src/mixins/_transition.scss +90 -0
  465. package/src/mixins/_z-index.scss +12 -0
  466. package/src/mixins/index.scss +14 -0
  467. package/src/mixins.scss +275 -0
  468. package/src/shared/colors.ts +18 -0
  469. package/src/shared/index.ts +3 -0
  470. package/src/shared/resource.ts +26 -0
  471. package/src/shared/variants.ts +68 -0
  472. package/src/shared/wrappers/classNames.ts +2 -0
  473. package/src/shared/wrappers/index.tsx +4 -0
  474. package/src/shared/wrappers/motion-wrapper.tsx +27 -0
  475. package/src/static/fonts/MaruBuri-Regular.eot +0 -0
  476. package/src/static/fonts/MaruBuri-Regular.otf +0 -0
  477. package/src/static/fonts/MaruBuri-Regular.ttf +0 -0
  478. package/src/static/fonts/MaruBuri-Regular.woff +0 -0
  479. package/src/static/fonts/MaruBuri-Regular.woff2 +0 -0
  480. package/src/styles/index.scss +2 -0
  481. package/src/typings.d.ts +5 -0
  482. package/src/variables.scss +31 -0
  483. package/tsconfig.json +21 -0
  484. package/turbo/generators/config.ts +30 -0
  485. package/turbo/generators/templates/component.hbs +8 -0
  486. package/vite.config.mjs +25 -0
@@ -0,0 +1,353 @@
1
+ @mixin generate-normalize {
2
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
3
+
4
+ /* Document
5
+ ========================================================================== */
6
+
7
+ /**
8
+ * 1. Correct the line height in all browsers.
9
+ * 2. Prevent adjustments of font size after orientation changes in iOS.
10
+ */
11
+
12
+ html {
13
+ line-height: 1.15; /* 1 */
14
+ -webkit-text-size-adjust: 100%; /* 2 */
15
+ }
16
+
17
+ /* Sections
18
+ ========================================================================== */
19
+
20
+ /**
21
+ * Remove the margin in all browsers.
22
+ */
23
+
24
+ body {
25
+ margin: 0;
26
+ }
27
+
28
+ /**
29
+ * Render the `main` element consistently in IE.
30
+ */
31
+
32
+ main {
33
+ display: block;
34
+ }
35
+
36
+ /**
37
+ * Correct the font size and margin on `h1` elements within `section` and
38
+ * `article` contexts in Chrome, Firefox, and Safari.
39
+ */
40
+
41
+ h1 {
42
+ font-size: 2em;
43
+ margin: 0.67em 0;
44
+ }
45
+
46
+ /* Grouping content
47
+ ========================================================================== */
48
+
49
+ /**
50
+ * 1. Add the correct box sizing in Firefox.
51
+ * 2. Show the overflow in Edge and IE.
52
+ */
53
+
54
+ hr {
55
+ box-sizing: content-box; /* 1 */
56
+ height: 0; /* 1 */
57
+ overflow: visible; /* 2 */
58
+ }
59
+
60
+ /**
61
+ * 1. Correct the inheritance and scaling of font size in all browsers.
62
+ * 2. Correct the odd `em` font sizing in all browsers.
63
+ */
64
+
65
+ pre {
66
+ font-family: monospace, monospace; /* 1 */
67
+ font-size: 1em; /* 2 */
68
+ }
69
+
70
+ /* Text-level semantics
71
+ ========================================================================== */
72
+
73
+ /**
74
+ * Remove the gray background on active links in IE 10.
75
+ */
76
+
77
+ a {
78
+ background-color: transparent;
79
+ }
80
+
81
+ /**
82
+ * 1. Remove the bottom border in Chrome 57-
83
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
84
+ */
85
+
86
+ abbr[title] {
87
+ border-bottom: none; /* 1 */
88
+ text-decoration: underline; /* 2 */
89
+ text-decoration: underline dotted; /* 2 */
90
+ }
91
+
92
+ /**
93
+ * Add the correct font weight in Chrome, Edge, and Safari.
94
+ */
95
+
96
+ b,
97
+ strong {
98
+ font-weight: bolder;
99
+ }
100
+
101
+ /**
102
+ * 1. Correct the inheritance and scaling of font size in all browsers.
103
+ * 2. Correct the odd `em` font sizing in all browsers.
104
+ */
105
+
106
+ code,
107
+ kbd,
108
+ samp {
109
+ font-family: monospace, monospace; /* 1 */
110
+ font-size: 1em; /* 2 */
111
+ }
112
+
113
+ /**
114
+ * Add the correct font size in all browsers.
115
+ */
116
+
117
+ small {
118
+ font-size: 80%;
119
+ }
120
+
121
+ /**
122
+ * Prevent `sub` and `sup` elements from affecting the line height in
123
+ * all browsers.
124
+ */
125
+
126
+ sub,
127
+ sup {
128
+ font-size: 75%;
129
+ line-height: 0;
130
+ position: relative;
131
+ vertical-align: baseline;
132
+ }
133
+
134
+ sub {
135
+ bottom: -0.25em;
136
+ }
137
+
138
+ sup {
139
+ top: -0.5em;
140
+ }
141
+
142
+ /* Embedded content
143
+ ========================================================================== */
144
+
145
+ /**
146
+ * Remove the border on images inside links in IE 10.
147
+ */
148
+
149
+ img {
150
+ border-style: none;
151
+ }
152
+
153
+ /* Forms
154
+ ========================================================================== */
155
+
156
+ /**
157
+ * 1. Change the font styles in all browsers.
158
+ * 2. Remove the margin in Firefox and Safari.
159
+ */
160
+
161
+ button,
162
+ input,
163
+ optgroup,
164
+ select,
165
+ textarea {
166
+ font-family: inherit; /* 1 */
167
+ font-size: 100%; /* 1 */
168
+ line-height: 1.15; /* 1 */
169
+ margin: 0; /* 2 */
170
+ }
171
+
172
+ /**
173
+ * Show the overflow in IE.
174
+ * 1. Show the overflow in Edge.
175
+ */
176
+
177
+ button,
178
+ input {
179
+ /* 1 */
180
+ overflow: visible;
181
+ }
182
+
183
+ /**
184
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
185
+ * 1. Remove the inheritance of text transform in Firefox.
186
+ */
187
+
188
+ button,
189
+ select {
190
+ /* 1 */
191
+ text-transform: none;
192
+ }
193
+
194
+ /**
195
+ * Correct the inability to style clickable types in iOS and Safari.
196
+ */
197
+
198
+ button,
199
+ [type="button"],
200
+ [type="reset"],
201
+ [type="submit"] {
202
+ -webkit-appearance: button;
203
+ }
204
+
205
+ /**
206
+ * Remove the inner border and padding in Firefox.
207
+ */
208
+
209
+ button::-moz-focus-inner,
210
+ [type="button"]::-moz-focus-inner,
211
+ [type="reset"]::-moz-focus-inner,
212
+ [type="submit"]::-moz-focus-inner {
213
+ border-style: none;
214
+ padding: 0;
215
+ }
216
+
217
+ /**
218
+ * Restore the focus styles unset by the previous rule.
219
+ */
220
+
221
+ button:-moz-focusring,
222
+ [type="button"]:-moz-focusring,
223
+ [type="reset"]:-moz-focusring,
224
+ [type="submit"]:-moz-focusring {
225
+ outline: 1px dotted ButtonText;
226
+ }
227
+
228
+ /**
229
+ * Correct the padding in Firefox.
230
+ */
231
+
232
+ fieldset {
233
+ padding: 0.35em 0.75em 0.625em;
234
+ }
235
+
236
+ /**
237
+ * 1. Correct the text wrapping in Edge and IE.
238
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
239
+ * 3. Remove the padding so developers are not caught out when they zero out
240
+ * `fieldset` elements in all browsers.
241
+ */
242
+
243
+ legend {
244
+ box-sizing: border-box; /* 1 */
245
+ color: inherit; /* 2 */
246
+ display: table; /* 1 */
247
+ max-width: 100%; /* 1 */
248
+ padding: 0; /* 3 */
249
+ white-space: normal; /* 1 */
250
+ }
251
+
252
+ /**
253
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
254
+ */
255
+
256
+ progress {
257
+ vertical-align: baseline;
258
+ }
259
+
260
+ /**
261
+ * Remove the default vertical scrollbar in IE 10+.
262
+ */
263
+
264
+ textarea {
265
+ overflow: auto;
266
+ }
267
+
268
+ /**
269
+ * 1. Add the correct box sizing in IE 10.
270
+ * 2. Remove the padding in IE 10.
271
+ */
272
+
273
+ [type="checkbox"],
274
+ [type="radio"] {
275
+ box-sizing: border-box; /* 1 */
276
+ padding: 0; /* 2 */
277
+ }
278
+
279
+ /**
280
+ * Correct the cursor style of increment and decrement buttons in Chrome.
281
+ */
282
+
283
+ [type="number"]::-webkit-inner-spin-button,
284
+ [type="number"]::-webkit-outer-spin-button {
285
+ height: auto;
286
+ }
287
+
288
+ /**
289
+ * 1. Correct the odd appearance in Chrome and Safari.
290
+ * 2. Correct the outline style in Safari.
291
+ */
292
+
293
+ [type="search"] {
294
+ -webkit-appearance: textfield; /* 1 */
295
+ outline-offset: -2px; /* 2 */
296
+ }
297
+
298
+ /**
299
+ * Remove the inner padding in Chrome and Safari on macOS.
300
+ */
301
+
302
+ [type="search"]::-webkit-search-decoration {
303
+ -webkit-appearance: none;
304
+ }
305
+
306
+ /**
307
+ * 1. Correct the inability to style clickable types in iOS and Safari.
308
+ * 2. Change font properties to `inherit` in Safari.
309
+ */
310
+
311
+ ::-webkit-file-upload-button {
312
+ -webkit-appearance: button; /* 1 */
313
+ font: inherit; /* 2 */
314
+ }
315
+
316
+ /* Interactive
317
+ ========================================================================== */
318
+
319
+ /*
320
+ * Add the correct display in Edge, IE 10+, and Firefox.
321
+ */
322
+
323
+ details {
324
+ display: block;
325
+ }
326
+
327
+ /*
328
+ * Add the correct display in all browsers.
329
+ */
330
+
331
+ summary {
332
+ display: list-item;
333
+ }
334
+
335
+ /* Misc
336
+ ========================================================================== */
337
+
338
+ /**
339
+ * Add the correct display in IE 10+.
340
+ */
341
+
342
+ template {
343
+ display: none;
344
+ }
345
+
346
+ /**
347
+ * Add the correct display in IE 10.
348
+ */
349
+
350
+ [hidden] {
351
+ display: none;
352
+ }
353
+ }
@@ -0,0 +1,34 @@
1
+ /// 위치 믹스인
2
+ /// @param {string} $position_val : css 'position' 값 (static, relative, absolute, fixed, stick)
3
+ /// @param {string} $top : absolute 박스를 포함하는 블록의 아래쪽과 absolute 박스의 top margin 간격
4
+ /// @param {string} $right : absolute 박스를 포함하는 블록의 왼쪽과 absolute 박스의 오른쪽 margin 간격
5
+ /// @param {string} $bottom : absolute 박스를 포함하는 블록의 위쪽과 absolute 박스의 아래쪽 margin 간격
6
+ /// @param {string} $left : absolute 박스를 포함하는 블록의 오른쪽과 absolute 박스의 왼쪽 margin 간격
7
+ /// @param {string} $axis : 엘리먼트를 가운데 정렬할 축 (both, horizontal, vertical)
8
+ /// @return {mixin} : 위치 믹스인
9
+ @mixin position(
10
+ $position_val: absolute,
11
+ $top: 0,
12
+ $right: 0,
13
+ $bottom: 0,
14
+ $left: 0,
15
+ $axis: null
16
+ ) {
17
+ @if $axis {
18
+ transform: if(
19
+ $axis == "horizontal",
20
+ translateX(-50%),
21
+ if($axis == "both", translateX(-50%), null)
22
+ )
23
+ if(
24
+ $axis == "vertical",
25
+ translateY(-50%),
26
+ if($axis == "both", translateY(-50%), null)
27
+ );
28
+ }
29
+ position: $position_val;
30
+ top: if($axis == "vertical", 50%, if($axis == "both", 50%, $top));
31
+ right: $right;
32
+ bottom: $bottom;
33
+ left: if($axis == "horizontal", 50%, if($axis == "both", 50%, $top));
34
+ }
@@ -0,0 +1,39 @@
1
+ @use "positioning" as *;
2
+
3
+ /// Pseudo 엘리먼트 믹스인
4
+ /// @param {string} $location : pseudo 엘리먼트의 위치
5
+ /// @param {string} $content : ::before와 ::after pseudo 엘리먼트와 함께 쓰일 콘텐츠 property
6
+ /// @param {string} $position : css 'position' 값 (static, relative, absolute, fixed, stick)
7
+ /// @param {string} $top : absolute 박스를 포함하는 블록의 아래쪽과 absolute 박스의 top margin 간격
8
+ /// @param {string} $right : absolute 박스를 포함하는 블록의 왼쪽과 absolute 박스의 오른쪽 margin 간격
9
+ /// @param {string} $bottom : absolute 박스를 포함하는 블록의 위쪽과 absolute 박스의 아래쪽 margin 간격
10
+ /// @param {string} $left : absolute 박스를 포함하는 블록의 오른쪽과 absolute 박스의 왼쪽 margin 간격
11
+ /// @param {string} $axis : 엘리먼트를 가운데 정렬할 축 (both, horizontal, vertical)
12
+ /// @return {mixin} : pseudo 엘리먼트 믹스인
13
+ @mixin pseudo(
14
+ $location: before,
15
+ $content: "",
16
+ $position: absolute,
17
+ $top: 0,
18
+ $right: 0,
19
+ $bottom: 0,
20
+ $left: 0,
21
+ $axis: null
22
+ ) {
23
+ position: relative;
24
+
25
+ &::#{$location} {
26
+ @include position(
27
+ $position: $position,
28
+ $top: $top,
29
+ $right: $right,
30
+ $bottom: $bottom,
31
+ $left: $left,
32
+ $axis: $axis
33
+ );
34
+
35
+ content: $content;
36
+
37
+ @content;
38
+ }
39
+ }
@@ -0,0 +1,70 @@
1
+ // [참고] modern CSS reset https://piccalil.li/blog/a-modern-css-reset/
2
+ @mixin generate-reset {
3
+ // Box sizing
4
+ *,
5
+ *::before,
6
+ *::after {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ // 디폴트 마진 제거
11
+ body,
12
+ h1,
13
+ h2,
14
+ h3,
15
+ h4,
16
+ h5,
17
+ h6,
18
+ p,
19
+ figure,
20
+ blockquote,
21
+ dl,
22
+ dd,
23
+ pre {
24
+ margin: 0;
25
+ }
26
+
27
+ // body 기본 높이
28
+ body {
29
+ min-height: 100vh;
30
+ }
31
+
32
+ // ul,ol 엘리먼트에 list role을 지닌 선택자의 디폴트 스타일 제거
33
+ // https://github.com/hankchizljaw/modern-css-reset/issues/30
34
+ ul[role="list"],
35
+ ol[role="list"] {
36
+ list-style: none;
37
+ }
38
+
39
+ // a 태그에 class가 없다면 링크 decoration 제거
40
+ a:not([class]) {
41
+ text-decoration-skip-ink: auto;
42
+ }
43
+
44
+ img {
45
+ display: block;
46
+ max-width: 100%;
47
+ height: auto;
48
+ }
49
+
50
+ li img,
51
+ p img {
52
+ display: inline-block;
53
+ vertical-align: sub;
54
+ }
55
+
56
+ // input과 button 태그 폰트 상속
57
+ input,
58
+ button,
59
+ textarea,
60
+ select {
61
+ font: inherit;
62
+ letter-spacing: inherit;
63
+ word-spacing: inherit;
64
+ }
65
+
66
+ // iframe 테두리 제거
67
+ iframe {
68
+ border: 0;
69
+ }
70
+ }
@@ -0,0 +1,12 @@
1
+ @use "../functions" as *;
2
+
3
+ /// border-radius으로 모양 설정하는 믹스인
4
+ /// @param {string} $size : `$config-shape` 맵에서 사이즈 혹은 숫자인 border 사이즈
5
+ /// @param {boolean} $important : 스타일 우선 순위 높이기 위한 `!important` 추가 여부
6
+ @mixin shape($size: default, $important: false) {
7
+ @if $important == true {
8
+ border-radius: shape($size) !important;
9
+ } @else {
10
+ border-radius: shape($size);
11
+ }
12
+ }
@@ -0,0 +1,89 @@
1
+ @use 'sass:list';
2
+ @use 'sass:math';
3
+ @use 'sass:string';
4
+
5
+ $skeleton-background: #e1e4e8;
6
+ $shimmer: rgba(255, 255, 255, 0.6);
7
+
8
+ /// 스켈레톤 콘텐츠 믹스인
9
+ /// @param $lines : skeleton 줄의 개수 (길이는 랜덤)
10
+ /// @param $line-height : 각 스켈레톤의 높이 (px)
11
+ /// @param $line-gap : 각 스켈레톤 간의 간격(px)
12
+ /// @param $background - Background color of the skeleton element
13
+ /// @param $shimmer : 스켈레톤 빛 부분의 색
14
+ /// @param $speed : 애니메이션 효과 속도
15
+ /// @param $level : 믹스인을 적용할 selector "selector" 또는 "empty" 값을 가질 수 있다. Empty 선택시 empty pseudo 클래스에 적용
16
+ /// @throws : $level이 "selector" or "empty"가 아닌 경우
17
+ /// @example : @include skeleton(2, 16px, 8px, #dddddd, transparentize(255,255,255,.6), 2s)
18
+ /// 모두 높이가 16px, 간격이 8px, 배경색이 #dddddd이고 빛부분 색이 transparentize(255,255,255,.6)인 스켈레톤 2 줄이 2초 속도로 애니메이션 보여줌
19
+ @mixin skeleton(
20
+ $lines: 2,
21
+ $line-height: 24px,
22
+ $line-gap: 8px,
23
+ $background: $skeleton-background,
24
+ $shimmer: $shimmer,
25
+ $speed: 3s,
26
+ $level: 'selector'
27
+ ) {
28
+ $key: 'skeleton-' + string.slice('#{random}', 1, -1);
29
+ $background-images: ();
30
+ $background-sizes: ();
31
+ $background-positions: ();
32
+ $background-blend-modes: ();
33
+ $background-images: list.append(
34
+ $background-images,
35
+ linear-gradient(115deg, transparent 20%, $shimmer 50%, transparent 80%),
36
+ comma
37
+ );
38
+ $background-sizes: list.append($background-sizes, 50% 100%, comma);
39
+ $background-positions: list.append($background-positions, -60% 0, comma);
40
+
41
+ @for $i from 1 through $lines {
42
+ $background-images: list.append($background-images, linear-gradient($background 0%, $background 100%), comma);
43
+ $background-positions: list.append($background-positions, 0 (($i - 1) * ($line-height + $line-gap)));
44
+
45
+ @if $i != $lines {
46
+ $background-sizes: list.append($background-sizes, 100% $line-height, comma);
47
+ }
48
+
49
+ @if $lines == 1 {
50
+ $background-sizes: list.append($background-sizes, 100% $line-height, comma);
51
+ } @else {
52
+ $background-sizes: list.append($background-sizes, random(4) * 23% $line-height, comma);
53
+ }
54
+ }
55
+
56
+ $background-positions-animated: list.set-nth($background-positions, 1, 180% 0);
57
+
58
+ @keyframes skeleton-shimmer-#{$key} {
59
+ to {
60
+ background-position: $background-positions-animated;
61
+ }
62
+ }
63
+
64
+ @if $level == 'selector' {
65
+ & {
66
+ display: block;
67
+ width: 100%;
68
+ min-height: $lines * ($line-height + $line-gap) - $line-gap;
69
+ background-image: $background-images;
70
+ background-repeat: no-repeat;
71
+ background-position: $background-positions;
72
+ background-size: $background-sizes;
73
+ animation: skeleton-shimmer-#{$key} $speed infinite;
74
+ }
75
+ } @else if $level == 'empty' {
76
+ &:empty {
77
+ display: block;
78
+ width: 100%;
79
+ min-height: $lines * ($line-height + $line-gap) - $line-gap;
80
+ background-image: $background-images;
81
+ background-repeat: no-repeat;
82
+ background-position: $background-positions;
83
+ background-size: $background-sizes;
84
+ animation: skeleton-shimmer-#{$key} $speed infinite;
85
+ }
86
+ } @else {
87
+ @error "The argument `$level` one of the followings: `selector`, `empty`";
88
+ }
89
+ }
@@ -0,0 +1,52 @@
1
+ /// 여러 줄의 텍스트를 ellipsis(...)로 반환
2
+ /// @param {number} $number-of-lines : 줄의 개수
3
+ /// @return {mixin} : 텍스트 ellipsis 믹스인
4
+ @mixin text-ellipsis($number-of-lines: 1) {
5
+ @if $number-of-lines == 1 {
6
+ white-space: nowrap;
7
+ } @else {
8
+ // white-space: pre-line;
9
+ // display: -webkit-box;
10
+
11
+ @supports (-webkit-line-clamp: $number-of-lines) {
12
+ -webkit-box-orient: vertical;
13
+ display: box;
14
+ -webkit-line-clamp: $number-of-lines;
15
+ }
16
+ }
17
+
18
+ // overflow: hidden;
19
+ white-space: pre-line;
20
+ display: -webkit-box;
21
+
22
+ text-overflow: ellipsis;
23
+ }
24
+
25
+ /// 긴 string break
26
+ /// @author Chris Coyier : https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/
27
+ /// @return {mixin} : mixin word-wrap 믹스인
28
+ @mixin word-wrap {
29
+ hyphens: auto;
30
+ word-break: break-word;
31
+ word-wrap: break-word;
32
+ overflow-wrap: break-word;
33
+ }
34
+
35
+ /// 텍스트 선택 동작
36
+ /// @param {string} $color : 선택 텍스트의 색상
37
+ /// @param {string} $background-color : 선택한 색상의 배경 색
38
+ /// @param {boolean} $is-direct : true 시, 현재 엘리먼트에 적용, false라면 자식 엘리먼트에 적용
39
+ /// @return {mixin} : 텍스트 선택 동작 믹스인
40
+ @mixin text-selection($color, $background-color, $is-direct: true) {
41
+ @if $is-direct {
42
+ &::selection {
43
+ color: $color;
44
+ background-color: $background-color;
45
+ }
46
+ } @else {
47
+ ::selection {
48
+ color: $color;
49
+ background-color: $background-color;
50
+ }
51
+ }
52
+ }