webcoreui 1.4.0 → 1.5.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (262) hide show
  1. package/README.md +15 -1
  2. package/astro.d.ts +62 -56
  3. package/astro.js +4 -0
  4. package/components/Accordion/Accordion.astro +1 -1
  5. package/components/Accordion/Accordion.svelte +60 -58
  6. package/components/Accordion/Accordion.tsx +3 -1
  7. package/components/Alert/Alert.astro +2 -1
  8. package/components/Alert/Alert.svelte +12 -5
  9. package/components/Alert/Alert.tsx +10 -3
  10. package/components/Alert/alert.ts +2 -18
  11. package/components/AspectRatio/AspectRatio.astro +1 -1
  12. package/components/AspectRatio/AspectRatio.svelte +27 -22
  13. package/components/AspectRatio/AspectRatio.tsx +6 -3
  14. package/components/AspectRatio/aspectratio.ts +0 -10
  15. package/components/Avatar/Avatar.astro +1 -1
  16. package/components/Avatar/Avatar.svelte +7 -5
  17. package/components/Avatar/Avatar.tsx +3 -2
  18. package/components/Avatar/avatar.module.scss +3 -5
  19. package/components/Badge/Badge.astro +2 -1
  20. package/components/Badge/Badge.svelte +11 -4
  21. package/components/Badge/Badge.tsx +8 -3
  22. package/components/Badge/badge.module.scss +5 -6
  23. package/components/Badge/badge.ts +11 -13
  24. package/components/Banner/Banner.astro +1 -1
  25. package/components/Banner/Banner.svelte +11 -5
  26. package/components/Banner/Banner.tsx +6 -2
  27. package/components/Banner/banner.module.scss +4 -6
  28. package/components/Banner/banner.ts +0 -10
  29. package/components/BottomNavigation/BottomNavigation.astro +1 -1
  30. package/components/BottomNavigation/BottomNavigation.svelte +7 -4
  31. package/components/BottomNavigation/BottomNavigation.tsx +3 -2
  32. package/components/BottomNavigation/bottomnavigation.module.scss +68 -70
  33. package/components/Breadcrumb/Breadcrumb.astro +1 -1
  34. package/components/Breadcrumb/Breadcrumb.svelte +5 -3
  35. package/components/Breadcrumb/Breadcrumb.tsx +3 -1
  36. package/components/Button/Button.astro +2 -1
  37. package/components/Button/Button.svelte +11 -4
  38. package/components/Button/Button.tsx +7 -2
  39. package/components/Button/button.module.scss +9 -12
  40. package/components/Button/button.ts +23 -20
  41. package/components/Card/Card.astro +9 -2
  42. package/components/Card/Card.svelte +21 -8
  43. package/components/Card/Card.tsx +23 -6
  44. package/components/Card/card.module.scss +12 -9
  45. package/components/Card/card.ts +3 -16
  46. package/components/Carousel/Carousel.astro +3 -3
  47. package/components/Carousel/Carousel.svelte +24 -19
  48. package/components/Carousel/Carousel.tsx +9 -4
  49. package/components/Carousel/carousel.module.scss +3 -5
  50. package/components/Carousel/carousel.ts +0 -12
  51. package/components/CarouselItem/CarouselItem.astro +14 -0
  52. package/components/CarouselItem/CarouselItem.svelte +18 -0
  53. package/components/CarouselItem/CarouselItem.tsx +18 -0
  54. package/components/CarouselItem/carouselItem.ts +4 -0
  55. package/components/Checkbox/Checkbox.astro +3 -6
  56. package/components/Checkbox/Checkbox.svelte +13 -10
  57. package/components/Checkbox/Checkbox.tsx +8 -5
  58. package/components/Checkbox/checkbox.module.scss +4 -6
  59. package/components/Checkbox/checkbox.ts +2 -17
  60. package/components/Collapsible/Collapsible.astro +1 -1
  61. package/components/Collapsible/Collapsible.svelte +13 -6
  62. package/components/Collapsible/Collapsible.tsx +8 -2
  63. package/components/Collapsible/collapsible.module.scss +5 -5
  64. package/components/Collapsible/collapsible.ts +0 -15
  65. package/components/ConditionalWrapper/ConditionalWrapper.astro +1 -1
  66. package/components/ConditionalWrapper/ConditionalWrapper.svelte +8 -2
  67. package/components/ConditionalWrapper/ConditionalWrapper.tsx +7 -2
  68. package/components/ConditionalWrapper/conditionalwrapper.ts +2 -14
  69. package/components/ContextMenu/ContextMenu.astro +2 -1
  70. package/components/ContextMenu/ContextMenu.svelte +17 -9
  71. package/components/ContextMenu/ContextMenu.tsx +8 -2
  72. package/components/ContextMenu/contextmenu.ts +2 -17
  73. package/components/Copy/Copy.astro +2 -2
  74. package/components/Copy/Copy.svelte +10 -5
  75. package/components/Copy/Copy.tsx +7 -3
  76. package/components/Copy/copy.ts +2 -12
  77. package/components/Counter/Counter.astro +3 -2
  78. package/components/Counter/Counter.svelte +16 -10
  79. package/components/Counter/Counter.tsx +11 -7
  80. package/components/Counter/counter.module.scss +3 -5
  81. package/components/Counter/counter.ts +2 -11
  82. package/components/DataTable/DataTable.astro +1 -1
  83. package/components/DataTable/DataTable.svelte +23 -15
  84. package/components/DataTable/DataTable.tsx +7 -2
  85. package/components/DataTable/datatable.ts +0 -12
  86. package/components/Flex/Flex.astro +2 -1
  87. package/components/Flex/Flex.svelte +12 -6
  88. package/components/Flex/Flex.tsx +8 -3
  89. package/components/Flex/flex.ts +2 -15
  90. package/components/Footer/Footer.astro +1 -1
  91. package/components/Footer/Footer.svelte +13 -8
  92. package/components/Footer/Footer.tsx +6 -2
  93. package/components/Footer/footer.ts +0 -10
  94. package/components/Grid/Grid.astro +2 -1
  95. package/components/Grid/Grid.svelte +12 -6
  96. package/components/Grid/Grid.tsx +8 -3
  97. package/components/Grid/grid.ts +2 -15
  98. package/components/Group/Group.astro +1 -1
  99. package/components/Group/Group.svelte +9 -4
  100. package/components/Group/Group.tsx +6 -2
  101. package/components/Group/group.ts +0 -10
  102. package/components/Icon/Icon.astro +1 -1
  103. package/components/Icon/Icon.svelte +16 -9
  104. package/components/Icon/Icon.tsx +3 -2
  105. package/components/Image/Image.astro +2 -1
  106. package/components/Image/Image.svelte +54 -51
  107. package/components/Image/Image.tsx +3 -1
  108. package/components/Image/image.ts +2 -3
  109. package/components/ImageLoader/ImageLoader.astro +1 -1
  110. package/components/ImageLoader/ImageLoader.svelte +5 -3
  111. package/components/ImageLoader/ImageLoader.tsx +3 -1
  112. package/components/Input/Input.astro +3 -2
  113. package/components/Input/Input.svelte +19 -9
  114. package/components/Input/Input.tsx +11 -3
  115. package/components/Input/input.ts +26 -53
  116. package/components/Kbd/Kbd.astro +1 -1
  117. package/components/Kbd/Kbd.svelte +9 -4
  118. package/components/Kbd/Kbd.tsx +6 -2
  119. package/components/Kbd/kbd.ts +0 -10
  120. package/components/List/List.astro +1 -1
  121. package/components/List/List.svelte +13 -9
  122. package/components/List/List.tsx +10 -6
  123. package/components/List/list.ts +0 -8
  124. package/components/Masonry/Masonry.astro +1 -1
  125. package/components/Masonry/Masonry.svelte +14 -9
  126. package/components/Masonry/Masonry.tsx +7 -3
  127. package/components/Masonry/masonry.module.scss +4 -6
  128. package/components/Masonry/masonry.ts +2 -13
  129. package/components/Menu/Menu.astro +1 -1
  130. package/components/Menu/Menu.svelte +13 -7
  131. package/components/Menu/Menu.tsx +6 -2
  132. package/components/Menu/menu.ts +0 -10
  133. package/components/Modal/Modal.astro +2 -3
  134. package/components/Modal/Modal.svelte +12 -8
  135. package/components/Modal/Modal.tsx +6 -4
  136. package/components/Modal/modal.module.scss +5 -5
  137. package/components/Modal/modal.ts +2 -14
  138. package/components/OTPInput/OTPInput.astro +3 -5
  139. package/components/OTPInput/OTPInput.svelte +10 -10
  140. package/components/OTPInput/OTPInput.tsx +10 -8
  141. package/components/OTPInput/otpinput.module.scss +0 -12
  142. package/components/OTPInput/otpinput.ts +2 -4
  143. package/components/Pagination/Pagination.astro +1 -1
  144. package/components/Pagination/Pagination.svelte +8 -4
  145. package/components/Pagination/Pagination.tsx +6 -2
  146. package/components/Pagination/pagination.ts +0 -8
  147. package/components/Popover/Popover.astro +3 -7
  148. package/components/Popover/Popover.svelte +11 -10
  149. package/components/Popover/Popover.tsx +9 -12
  150. package/components/Popover/popover.ts +2 -15
  151. package/components/Progress/Progress.astro +1 -1
  152. package/components/Progress/Progress.svelte +8 -6
  153. package/components/Progress/Progress.tsx +3 -1
  154. package/components/Progress/progress.module.scss +15 -17
  155. package/components/Radio/Radio.astro +4 -4
  156. package/components/Radio/Radio.svelte +15 -8
  157. package/components/Radio/Radio.tsx +8 -5
  158. package/components/Radio/radio.module.scss +4 -6
  159. package/components/Radio/radio.ts +3 -14
  160. package/components/RangeSlider/RangeSlider.astro +5 -2
  161. package/components/RangeSlider/RangeSlider.svelte +20 -35
  162. package/components/RangeSlider/RangeSlider.tsx +11 -4
  163. package/components/RangeSlider/rangeslider.module.scss +14 -16
  164. package/components/RangeSlider/rangeslider.ts +1 -9
  165. package/components/Rating/Rating.astro +1 -1
  166. package/components/Rating/Rating.svelte +10 -7
  167. package/components/Rating/Rating.tsx +3 -1
  168. package/components/Rating/rating.module.scss +13 -15
  169. package/components/Ribbon/Ribbon.astro +1 -1
  170. package/components/Ribbon/Ribbon.svelte +9 -4
  171. package/components/Ribbon/Ribbon.tsx +6 -2
  172. package/components/Ribbon/ribbon.module.scss +9 -11
  173. package/components/Ribbon/ribbon.ts +0 -10
  174. package/components/Select/Select.astro +3 -1
  175. package/components/Select/Select.svelte +179 -171
  176. package/components/Select/Select.tsx +11 -4
  177. package/components/Select/select.ts +2 -12
  178. package/components/Sheet/Sheet.astro +2 -1
  179. package/components/Sheet/Sheet.svelte +7 -5
  180. package/components/Sheet/Sheet.tsx +5 -4
  181. package/components/Sheet/sheet.ts +3 -10
  182. package/components/Sidebar/Sidebar.astro +1 -1
  183. package/components/Sidebar/Sidebar.svelte +9 -4
  184. package/components/Sidebar/Sidebar.tsx +6 -2
  185. package/components/Sidebar/sidebar.ts +0 -10
  186. package/components/Skeleton/Skeleton.astro +1 -1
  187. package/components/Skeleton/Skeleton.svelte +7 -5
  188. package/components/Skeleton/Skeleton.tsx +3 -1
  189. package/components/Skeleton/skeleton.module.scss +6 -9
  190. package/components/Slider/Slider.astro +7 -5
  191. package/components/Slider/Slider.svelte +18 -10
  192. package/components/Slider/Slider.tsx +12 -6
  193. package/components/Slider/slider.module.scss +12 -14
  194. package/components/Slider/slider.ts +3 -12
  195. package/components/SpeedDial/SpeedDial.astro +1 -1
  196. package/components/SpeedDial/SpeedDial.svelte +6 -4
  197. package/components/SpeedDial/SpeedDial.tsx +4 -2
  198. package/components/SpeedDial/speeddial.module.scss +4 -6
  199. package/components/Spinner/Spinner.astro +1 -1
  200. package/components/Spinner/Spinner.svelte +7 -5
  201. package/components/Spinner/Spinner.tsx +3 -1
  202. package/components/Spinner/spinner.module.scss +13 -14
  203. package/components/Spoiler/Spoiler.astro +1 -1
  204. package/components/Spoiler/Spoiler.svelte +11 -5
  205. package/components/Spoiler/Spoiler.tsx +6 -2
  206. package/components/Spoiler/spoiler.module.scss +3 -5
  207. package/components/Spoiler/spoiler.ts +0 -10
  208. package/components/Stepper/Stepper.astro +1 -1
  209. package/components/Stepper/Stepper.svelte +7 -5
  210. package/components/Stepper/Stepper.tsx +3 -1
  211. package/components/Stepper/stepper.defaults.scss +5 -0
  212. package/components/Stepper/stepper.module.scss +11 -13
  213. package/components/Switch/Switch.astro +7 -2
  214. package/components/Switch/Switch.svelte +17 -8
  215. package/components/Switch/Switch.tsx +8 -4
  216. package/components/Switch/switch.module.scss +5 -7
  217. package/components/Switch/switch.ts +2 -16
  218. package/components/Tab/Tab.astro +25 -0
  219. package/components/Tab/Tab.svelte +28 -0
  220. package/components/Tab/Tab.tsx +30 -0
  221. package/components/Tab/tab.ts +6 -0
  222. package/components/Table/Table.astro +1 -1
  223. package/components/Table/Table.svelte +5 -3
  224. package/components/Table/Table.tsx +3 -1
  225. package/components/Tabs/Tabs.astro +58 -25
  226. package/components/Tabs/Tabs.svelte +47 -14
  227. package/components/Tabs/Tabs.tsx +42 -11
  228. package/components/Tabs/tabs.module.scss +7 -6
  229. package/components/Tabs/tabs.ts +0 -10
  230. package/components/Textarea/Textarea.astro +3 -6
  231. package/components/Textarea/Textarea.svelte +13 -10
  232. package/components/Textarea/Textarea.tsx +9 -7
  233. package/components/Textarea/textarea.ts +2 -17
  234. package/components/ThemeSwitcher/ThemeSwitcher.astro +1 -1
  235. package/components/ThemeSwitcher/ThemeSwitcher.svelte +14 -8
  236. package/components/ThemeSwitcher/ThemeSwitcher.tsx +7 -2
  237. package/components/ThemeSwitcher/themeswitcher.module.scss +10 -12
  238. package/components/ThemeSwitcher/themeswitcher.ts +0 -13
  239. package/components/Timeline/Timeline.astro +1 -1
  240. package/components/Timeline/Timeline.svelte +11 -6
  241. package/components/Timeline/Timeline.tsx +6 -2
  242. package/components/Timeline/timeline.module.scss +6 -8
  243. package/components/Timeline/timeline.ts +0 -10
  244. package/components/TimelineItem/TimelineItem.astro +1 -1
  245. package/components/TimelineItem/TimelineItem.svelte +9 -4
  246. package/components/TimelineItem/TimelineItem.tsx +8 -3
  247. package/components/TimelineItem/timelineitem.module.scss +4 -4
  248. package/components/TimelineItem/timelineitem.ts +0 -12
  249. package/components/Toast/Toast.astro +2 -1
  250. package/components/Toast/Toast.svelte +9 -7
  251. package/components/Toast/Toast.tsx +5 -4
  252. package/components/Toast/toast.ts +3 -11
  253. package/package.json +19 -19
  254. package/react.d.ts +145 -138
  255. package/react.js +4 -0
  256. package/scss/config/functions.scss +41 -0
  257. package/scss/config/mixins.scss +65 -0
  258. package/scss/config.scss +1 -0
  259. package/scss/global/theme.scss +209 -194
  260. package/scss/setup.scss +6 -3
  261. package/svelte.d.ts +145 -138
  262. package/svelte.js +4 -0
@@ -8,14 +8,14 @@
8
8
  @include position(absolute, t-5px);
9
9
  @include size(25px);
10
10
  @include border-radius(max);
11
- @include background(var(--w-timeline-color));
11
+ @include background(var(--color));
12
12
  @include typography(md);
13
13
  @include layout(inline-flex, center);
14
14
  @include border(2px, primary-70);
15
15
 
16
- content: counter(item, var(--w-timeline-counter));
16
+ content: counter(item, var(--counter));
17
17
  counter-increment: item;
18
- color: var(--w-timeline-text-color);
18
+ color: var(--text-color);
19
19
  margin-left: -40px;
20
20
  }
21
21
 
@@ -25,7 +25,7 @@
25
25
  @include border(6px, primary-70);
26
26
  @include layout(flex);
27
27
 
28
- color: var(--w-timeline-text-color);
28
+ color: var(--text-color);
29
29
  margin-left: -40px;
30
30
  margin-top: -4px;
31
31
 
@@ -1,6 +1,3 @@
1
- import type { JSX } from 'react'
2
- import type { Snippet } from 'svelte'
3
-
4
1
  import type { IconProps } from '../Icon/icon'
5
2
 
6
3
  export type TimelineItemProps = {
@@ -9,12 +6,3 @@ export type TimelineItemProps = {
9
6
  icon?: IconProps['type'] | string
10
7
  className?: string
11
8
  }
12
-
13
- export type SvelteTimelineItemProps = {
14
- children: Snippet
15
- } & TimelineItemProps
16
-
17
- export type ReactTimelineItemProps = {
18
- TitleTag?: keyof JSX.IntrinsicElements
19
- children: React.ReactNode
20
- } & Omit<TimelineItemProps, 'titleTag'>
@@ -1,4 +1,5 @@
1
1
  ---
2
+ import type { HTMLAttributes } from 'astro/types'
2
3
  import type { ToastProps } from './toast'
3
4
 
4
5
  import Alert from '../Alert/Alert.astro'
@@ -7,7 +8,7 @@ import { classNames } from '../../utils/classNames'
7
8
 
8
9
  import styles from './toast.module.scss'
9
10
 
10
- interface Props extends ToastProps {}
11
+ export type Props = ToastProps<HTMLAttributes<'section'>>
11
12
 
12
13
  const {
13
14
  position,
@@ -1,26 +1,28 @@
1
1
  <script lang="ts">
2
- import type { SvelteToastProps } from './toast'
2
+ import type { ToastProps } from './toast'
3
3
 
4
- import Alert from '../Alert/Alert.svelte'
4
+ import Alert, { type Props as AlertProps } from '../Alert/Alert.svelte'
5
5
 
6
6
  import { classNames } from '../../utils/classNames'
7
7
 
8
8
  import styles from './toast.module.scss'
9
9
 
10
+ export type Props = ToastProps<AlertProps>
11
+
10
12
  const {
11
13
  position,
12
14
  className,
13
15
  icon,
14
16
  children,
15
17
  ...rest
16
- }: SvelteToastProps = $props()
18
+ }: Props = $props()
17
19
 
18
- const classes = classNames([
20
+ const classes = $derived(classNames([
19
21
  styles.toast,
20
22
  className
21
- ])
23
+ ]))
22
24
 
23
- const additionalProps = {
25
+ const additionalProps = $derived({
24
26
  ...(position && { 'data-position': position }),
25
27
  titleProps: {
26
28
  'data-id': 'title'
@@ -28,7 +30,7 @@
28
30
  bodyProps: {
29
31
  'data-id': 'body'
30
32
  }
31
- }
33
+ })
32
34
 
33
35
  const iconRender = $derived(icon)
34
36
  </script>
@@ -1,19 +1,20 @@
1
- import React from 'react'
2
- import type { ReactToastProps } from './toast'
1
+ import type { ToastProps } from './toast'
3
2
 
4
- import Alert from '../Alert/Alert.tsx'
3
+ import Alert, { type Props as AlertProps } from '../Alert/Alert.tsx'
5
4
 
6
5
  import { classNames } from '../../utils/classNames'
7
6
 
8
7
  import styles from './toast.module.scss'
9
8
 
9
+ export type Props = ToastProps<React.HTMLAttributes<HTMLElement>> & AlertProps
10
+
10
11
  const Toast = ({
11
12
  icon,
12
13
  position,
13
14
  className,
14
15
  children,
15
16
  ...rest
16
- }: ReactToastProps) => {
17
+ }: Props) => {
17
18
  const classes = classNames([
18
19
  styles.toast,
19
20
  className
@@ -1,18 +1,10 @@
1
- import type {
2
- AlertProps,
3
- ReactAlertProps,
4
- SvelteAlertProps
5
- } from '../Alert/alert'
1
+ import type { AlertProps } from '../Alert/alert'
6
2
 
7
- export type ToastProps = {
3
+ export type ToastProps<T extends object = object> = {
8
4
  position?: 'bottom-left'
9
5
  | 'top-left'
10
6
  | 'top-right'
11
7
  | 'bottom-full'
12
8
  | 'top-full'
13
9
  | null
14
- [key: string]: any
15
- } & AlertProps
16
-
17
- export type SvelteToastProps = ToastProps & SvelteAlertProps
18
- export type ReactToastProps = ToastProps & ReactAlertProps
10
+ } & AlertProps<T>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "webcoreui",
3
3
  "type": "module",
4
- "version": "1.4.0",
4
+ "version": "1.5.0-beta.1",
5
5
  "scripts": {
6
6
  "prepare": "husky",
7
7
  "pre-commit": "lint-staged",
@@ -22,33 +22,33 @@
22
22
  },
23
23
  "devDependencies": {
24
24
  "@astrojs/check": "0.9.6",
25
- "@astrojs/node": "9.5.4",
25
+ "@astrojs/node": "9.5.5",
26
26
  "@astrojs/react": "4.4.2",
27
27
  "@astrojs/svelte": "7.2.5",
28
28
  "@eslint/js": "9.39.3",
29
- "@playwright/test": "1.58.2",
30
- "@types/node": "25.3.0",
31
- "@typescript-eslint/parser": "8.56.1",
32
- "astro": "5.17.3",
33
- "astro-eslint-parser": "1.3.0",
29
+ "@playwright/test": "1.60.0",
30
+ "@types/node": "25.9.1",
31
+ "@typescript-eslint/parser": "8.59.4",
32
+ "astro": "5.18.1",
33
+ "astro-eslint-parser": "1.4.0",
34
34
  "eslint": "9.39.3",
35
- "eslint-plugin-astro": "1.6.0",
35
+ "eslint-plugin-astro": "1.7.0",
36
36
  "eslint-plugin-react": "7.37.5",
37
- "eslint-plugin-simple-import-sort": "12.1.1",
38
- "eslint-plugin-svelte": "3.15.0",
37
+ "eslint-plugin-simple-import-sort": "13.0.0",
38
+ "eslint-plugin-svelte": "3.17.1",
39
39
  "husky": "9.1.7",
40
- "jsdom": "28.1.0",
41
- "lint-staged": "16.2.7",
42
- "react": "19.2.4",
43
- "react-dom": "19.2.4",
44
- "sass": "1.97.3",
40
+ "jsdom": "29.1.1",
41
+ "lint-staged": "17.0.5",
42
+ "react": "19.2.6",
43
+ "react-dom": "19.2.6",
44
+ "sass": "1.100.0",
45
45
  "sass-true": "10.1.0",
46
- "svelte": "5.53.3",
47
- "svelte-eslint-parser": "1.5.1",
46
+ "svelte": "5.55.9",
47
+ "svelte-eslint-parser": "1.6.1",
48
48
  "typescript": "5.9.3",
49
- "typescript-eslint": "8.56.1",
49
+ "typescript-eslint": "8.59.4",
50
50
  "vite-tsconfig-paths": "6.1.1",
51
- "vitest": "4.0.18"
51
+ "vitest": "4.1.7"
52
52
  },
53
53
  "exports": {
54
54
  ".": "./index.js",
package/react.d.ts CHANGED
@@ -1,60 +1,63 @@
1
1
  import { FC } from 'react'
2
- import type { AccordionProps as WAccordionProps } from './components/Accordion/accordion'
3
- import type { ReactAlertProps as WReactAlertProps } from './components/Alert/alert'
4
- import type { ReactAspectRatioProps as WReactAspectRatioProps } from './components/AspectRatio/aspectratio'
5
- import type { AvatarProps as WAvatarProps } from './components/Avatar/avatar'
6
- import type { ReactBadgeProps as WReactBadgeProps } from './components/Badge/badge'
7
- import type { ReactBannerProps as WReactBannerProps } from './components/Banner/banner'
8
- import type { BottomNavigationProps as WBottomNavigationProps } from './components/BottomNavigation/bottomnavigation'
9
- import type { BreadcrumbProps as WBreadcrumbProps } from './components/Breadcrumb/breadcrumb'
10
- import type { ReactButtonProps as WReactButtonProps } from './components/Button/button'
11
- import type { ReactCardProps as WReactCardProps } from './components/Card/card'
12
- import type { ReactCarouselProps as WReactCarouselProps } from './components/Carousel/carousel'
13
- import type { ReactCheckboxProps as WReactCheckboxProps } from './components/Checkbox/checkbox'
14
- import type { ReactCollapsibleProps as WReactCollapsibleProps } from './components/Collapsible/collapsible'
15
- import type { ReactConditionalWrapperProps as WReactConditionalWrapperProps } from './components/ConditionalWrapper/conditionalwrapper'
16
- import type { ReactContextMenuProps as WReactContextMenuProps } from './components/ContextMenu/contextmenu'
17
- import type { ReactCopyProps as WReactCopyProps } from './components/Copy/copy'
18
- import type { ReactCounterProps as WReactCounterProps } from './components/Counter/counter'
19
- import type { ReactDataTableProps as WReactDataTableProps } from './components/DataTable/datatable'
20
- import type { ReactFlexProps as WReactFlexProps } from './components/Flex/flex'
21
- import type { ReactFooterProps as WReactFooterProps } from './components/Footer/footer'
22
- import type { ReactGridProps as WReactGridProps } from './components/Grid/grid'
23
- import type { ReactGroupProps as WReactGroupProps } from './components/Group/group'
24
- import type { IconProps as WIconProps } from './components/Icon/icon'
25
- import type { ImageProps as WImageProps } from './components/Image/image'
26
- import type { ImageLoaderProps as WImageLoaderProps } from './components/ImageLoader/imageloader'
27
- import type { ReactInputProps as WReactInputProps } from './components/Input/input'
28
- import type { ReactKbdProps as WReactKbdProps } from './components/Kbd/kbd'
29
- import type { ReactListProps as WReactListProps } from './components/List/list'
30
- import type { ReactMasonryProps as WReactMasonryProps } from './components/Masonry/masonry'
31
- import type { ReactMenuProps as WReactMenuProps } from './components/Menu/menu'
32
- import type { ReactModalProps as WReactModalProps } from './components/Modal/modal'
33
- import type { OTPInputProps as WOTPInputProps } from './components/OTPInput/otpinput'
34
- import type { ReactPaginationProps as WReactPaginationProps } from './components/Pagination/pagination'
35
- import type { ReactPopoverProps as WReactPopoverProps } from './components/Popover/popover'
36
- import type { ProgressProps as WProgressProps } from './components/Progress/progress'
37
- import type { ReactRadioProps as WReactRadioProps } from './components/Radio/radio'
38
- import type { ReactRangeSliderProps as WReactRangeSliderProps } from './components/RangeSlider/rangeslider'
39
- import type { RatingProps as WRatingProps } from './components/Rating/rating'
40
- import type { ReactRibbonProps as WReactRibbonProps } from './components/Ribbon/ribbon'
41
- import type { ReactSelectProps as WReactSelectProps } from './components/Select/select'
42
- import type { ReactSheetProps as WReactSheetProps } from './components/Sheet/sheet'
43
- import type { ReactSidebarProps as WReactSidebarProps } from './components/Sidebar/sidebar'
44
- import type { SkeletonProps as WSkeletonProps } from './components/Skeleton/skeleton'
45
- import type { ReactSliderProps as WReactSliderProps } from './components/Slider/slider'
46
- import type { SpeedDialProps as WSpeedDialProps } from './components/SpeedDial/speeddial'
47
- import type { SpinnerProps as WSpinnerProps } from './components/Spinner/spinner'
48
- import type { ReactSpoilerProps as WReactSpoilerProps } from './components/Spoiler/spoiler'
49
- import type { StepperProps as WStepperProps } from './components/Stepper/stepper'
50
- import type { ReactSwitchProps as WReactSwitchProps } from './components/Switch/switch'
51
- import type { TableProps as WTableProps } from './components/Table/table'
52
- import type { ReactTabsProps as WReactTabsProps } from './components/Tabs/tabs'
53
- import type { ReactTextareaProps as WReactTextareaProps } from './components/Textarea/textarea'
54
- import type { ReactThemeSwitcherProps as WReactThemeSwitcherProps } from './components/ThemeSwitcher/themeswitcher'
55
- import type { ReactTimelineProps as WReactTimelineProps } from './components/Timeline/timeline'
56
- import type { ReactTimelineItemProps as WReactTimelineItemProps } from './components/TimelineItem/timelineitem'
57
- import type { ReactToastProps as WReactToastProps } from './components/Toast/toast'
2
+
3
+ import type { Props as WAccordionProps } from './components/Accordion/Accordion.tsx'
4
+ import type { Props as WAlertProps } from './components/Alert/Alert.tsx'
5
+ import type { Props as WAspectRatioProps } from './components/AspectRatio/AspectRatio.tsx'
6
+ import type { Props as WAvatarProps } from './components/Avatar/Avatar.tsx'
7
+ import type { Props as WBadgeProps } from './components/Badge/Badge.tsx'
8
+ import type { Props as WBannerProps } from './components/Banner/Banner.tsx'
9
+ import type { Props as WBottomNavigationProps } from './components/BottomNavigation/BottomNavigation.tsx'
10
+ import type { Props as WBreadcrumbProps } from './components/Breadcrumb/Breadcrumb.tsx'
11
+ import type { Props as WButtonProps } from './components/Button/Button.tsx'
12
+ import type { Props as WCardProps } from './components/Card/Card.tsx'
13
+ import type { Props as WCarouselProps } from './components/Carousel/Carousel.tsx'
14
+ import type { Props as WCarouselItemProps } from './components/CarouselItem/CarouselItem.tsx'
15
+ import type { Props as WCheckboxProps } from './components/Checkbox/Checkbox.tsx'
16
+ import type { Props as WCollapsibleProps } from './components/Collapsible/Collapsible.tsx'
17
+ import type { Props as WConditionalWrapperProps } from './components/ConditionalWrapper/ConditionalWrapper.tsx'
18
+ import type { Props as WContextMenuProps } from './components/ContextMenu/ContextMenu.tsx'
19
+ import type { Props as WCopyProps } from './components/Copy/Copy.tsx'
20
+ import type { Props as WCounterProps } from './components/Counter/Counter.tsx'
21
+ import type { Props as WDataTableProps } from './components/DataTable/DataTable.tsx'
22
+ import type { Props as WFlexProps } from './components/Flex/Flex.tsx'
23
+ import type { Props as WFooterProps } from './components/Footer/Footer.tsx'
24
+ import type { Props as WGridProps } from './components/Grid/Grid.tsx'
25
+ import type { Props as WGroupProps } from './components/Group/Group.tsx'
26
+ import type { Props as WIconProps } from './components/Icon/Icon.tsx'
27
+ import type { Props as WImageProps } from './components/Image/Image.tsx'
28
+ import type { Props as WImageLoaderProps } from './components/ImageLoader/ImageLoader.tsx'
29
+ import type { Props as WInputProps } from './components/Input/Input.tsx'
30
+ import type { Props as WKbdProps } from './components/Kbd/Kbd.tsx'
31
+ import type { Props as WListProps } from './components/List/List.tsx'
32
+ import type { Props as WMasonryProps } from './components/Masonry/Masonry.tsx'
33
+ import type { Props as WMenuProps } from './components/Menu/Menu.tsx'
34
+ import type { Props as WModalProps } from './components/Modal/Modal.tsx'
35
+ import type { Props as WOTPInputProps } from './components/OTPInput/OTPInput.tsx'
36
+ import type { Props as WPaginationProps } from './components/Pagination/Pagination.tsx'
37
+ import type { Props as WPopoverProps } from './components/Popover/Popover.tsx'
38
+ import type { Props as WProgressProps } from './components/Progress/Progress.tsx'
39
+ import type { Props as WRadioProps } from './components/Radio/Radio.tsx'
40
+ import type { Props as WRangeSliderProps } from './components/RangeSlider/RangeSlider.tsx'
41
+ import type { Props as WRatingProps } from './components/Rating/Rating.tsx'
42
+ import type { Props as WRibbonProps } from './components/Ribbon/Ribbon.tsx'
43
+ import type { Props as WSelectProps } from './components/Select/Select.tsx'
44
+ import type { Props as WSheetProps } from './components/Sheet/Sheet.tsx'
45
+ import type { Props as WSidebarProps } from './components/Sidebar/Sidebar.tsx'
46
+ import type { Props as WSkeletonProps } from './components/Skeleton/Skeleton.tsx'
47
+ import type { Props as WSliderProps } from './components/Slider/Slider.tsx'
48
+ import type { Props as WSpeedDialProps } from './components/SpeedDial/SpeedDial.tsx'
49
+ import type { Props as WSpinnerProps } from './components/Spinner/Spinner.tsx'
50
+ import type { Props as WSpoilerProps } from './components/Spoiler/Spoiler.tsx'
51
+ import type { Props as WStepperProps } from './components/Stepper/Stepper.tsx'
52
+ import type { Props as WSwitchProps } from './components/Switch/Switch.tsx'
53
+ import type { Props as WTabProps } from './components/Tab/Tab.tsx'
54
+ import type { Props as WTableProps } from './components/Table/Table.tsx'
55
+ import type { Props as WTabsProps } from './components/Tabs/Tabs.tsx'
56
+ import type { Props as WTextareaProps } from './components/Textarea/Textarea.tsx'
57
+ import type { Props as WThemeSwitcherProps } from './components/ThemeSwitcher/ThemeSwitcher.tsx'
58
+ import type { Props as WTimelineProps } from './components/Timeline/Timeline.tsx'
59
+ import type { Props as WTimelineItemProps } from './components/TimelineItem/TimelineItem.tsx'
60
+ import type { Props as WToastProps } from './components/Toast/Toast.tsx'
58
61
 
59
62
  import type { DataTableEventType as WDataTableEventType, HeadingObject as WHeadingObject } from './components/DataTable/datatable.ts'
60
63
  import type { ListEventType as WListEventType } from './components/List/list.ts'
@@ -64,118 +67,122 @@ import type { SelectEventType as WSelectEventType } from './components/Select/se
64
67
 
65
68
  declare module 'webcoreui/react' {
66
69
  export const Accordion: FC<WAccordionProps>
67
- export const Alert: FC<WReactAlertProps>
68
- export const AspectRatio: FC<WReactAspectRatioProps>
70
+ export const Alert: FC<WAlertProps>
71
+ export const AspectRatio: FC<WAspectRatioProps>
69
72
  export const Avatar: FC<WAvatarProps>
70
- export const Badge: FC<WReactBadgeProps>
71
- export const Banner: FC<WReactBannerProps>
73
+ export const Badge: FC<WBadgeProps>
74
+ export const Banner: FC<WBannerProps>
72
75
  export const BottomNavigation: FC<WBottomNavigationProps>
73
76
  export const Breadcrumb: FC<WBreadcrumbProps>
74
- export const Button: FC<WReactButtonProps>
75
- export const Card: FC<WReactCardProps>
76
- export const Carousel: FC<WReactCarouselProps>
77
- export const Checkbox: FC<WReactCheckboxProps>
78
- export const Collapsible: FC<WReactCollapsibleProps>
79
- export const ConditionalWrapper: FC<WReactConditionalWrapperProps>
80
- export const ContextMenu: FC<WReactContextMenuProps>
81
- export const Copy: FC<WReactCopyProps>
82
- export const Counter: FC<WReactCounterProps>
83
- export const DataTable: FC<WReactDataTableProps>
84
- export const Flex: FC<WReactFlexProps>
85
- export const Footer: FC<WReactFooterProps>
86
- export const Grid: FC<WReactGridProps>
87
- export const Group: FC<WReactGroupProps>
77
+ export const Button: FC<WButtonProps>
78
+ export const Card: FC<WCardProps>
79
+ export const Carousel: FC<WCarouselProps>
80
+ export const CarouselItem: FC<WCarouselItemProps>
81
+ export const Checkbox: FC<WCheckboxProps>
82
+ export const Collapsible: FC<WCollapsibleProps>
83
+ export const ConditionalWrapper: FC<WConditionalWrapperProps>
84
+ export const ContextMenu: FC<WContextMenuProps>
85
+ export const Copy: FC<WCopyProps>
86
+ export const Counter: FC<WCounterProps>
87
+ export const DataTable: FC<WDataTableProps>
88
+ export const Flex: FC<WFlexProps>
89
+ export const Footer: FC<WFooterProps>
90
+ export const Grid: FC<WGridProps>
91
+ export const Group: FC<WGroupProps>
88
92
  export const Icon: FC<WIconProps>
89
93
  export const Image: FC<WImageProps>
90
94
  export const ImageLoader: FC<WImageLoaderProps>
91
- export const Input: FC<WReactInputProps>
92
- export const Kbd: FC<WReactKbdProps>
93
- export const List: FC<WReactListProps>
94
- export const Masonry: FC<WReactMasonryProps>
95
- export const Menu: FC<WReactMenuProps>
96
- export const Modal: FC<WReactModalProps>
95
+ export const Input: FC<WInputProps>
96
+ export const Kbd: FC<WKbdProps>
97
+ export const List: FC<WListProps>
98
+ export const Masonry: FC<WMasonryProps>
99
+ export const Menu: FC<WMenuProps>
100
+ export const Modal: FC<WModalProps>
97
101
  export const OTPInput: FC<WOTPInputProps>
98
- export const Pagination: FC<WReactPaginationProps>
99
- export const Popover: FC<WReactPopoverProps>
102
+ export const Pagination: FC<WPaginationProps>
103
+ export const Popover: FC<WPopoverProps>
100
104
  export const Progress: FC<WProgressProps>
101
- export const Radio: FC<WReactRadioProps>
102
- export const RangeSlider: FC<WReactRangeSliderProps>
105
+ export const Radio: FC<WRadioProps>
106
+ export const RangeSlider: FC<WRangeSliderProps>
103
107
  export const Rating: FC<WRatingProps>
104
- export const Ribbon: FC<WReactRibbonProps>
105
- export const Select: FC<WReactSelectProps>
106
- export const Sheet: FC<WReactSheetProps>
107
- export const Sidebar: FC<WReactSidebarProps>
108
+ export const Ribbon: FC<WRibbonProps>
109
+ export const Select: FC<WSelectProps>
110
+ export const Sheet: FC<WSheetProps>
111
+ export const Sidebar: FC<WSidebarProps>
108
112
  export const Skeleton: FC<WSkeletonProps>
109
- export const Slider: FC<WReactSliderProps>
113
+ export const Slider: FC<WSliderProps>
110
114
  export const SpeedDial: FC<WSpeedDialProps>
111
115
  export const Spinner: FC<WSpinnerProps>
112
- export const Spoiler: FC<WReactSpoilerProps>
116
+ export const Spoiler: FC<WSpoilerProps>
113
117
  export const Stepper: FC<WStepperProps>
114
- export const Switch: FC<WReactSwitchProps>
118
+ export const Switch: FC<WSwitchProps>
119
+ export const Tab: FC<WTabProps>
115
120
  export const Table: FC<WTableProps>
116
- export const Tabs: FC<WReactTabsProps>
117
- export const Textarea: FC<WReactTextareaProps>
118
- export const ThemeSwitcher: FC<WReactThemeSwitcherProps>
119
- export const Timeline: FC<WReactTimelineProps>
120
- export const TimelineItem: FC<WReactTimelineItemProps>
121
- export const Toast: FC<WReactToastProps>
121
+ export const Tabs: FC<WTabsProps>
122
+ export const Textarea: FC<WTextareaProps>
123
+ export const ThemeSwitcher: FC<WThemeSwitcherProps>
124
+ export const Timeline: FC<WTimelineProps>
125
+ export const TimelineItem: FC<WTimelineItemProps>
126
+ export const Toast: FC<WToastProps>
122
127
 
123
128
  export type AccordionProps = WAccordionProps
124
- export type AlertProps = WReactAlertProps
125
- export type AspectRatioProps = WReactAspectRatioProps
129
+ export type AlertProps = WAlertProps
130
+ export type AspectRatioProps = WAspectRatioProps
126
131
  export type AvatarProps = WAvatarProps
127
- export type BadgeProps = WReactBadgeProps
128
- export type BannerProps = WReactBannerProps
132
+ export type BadgeProps = WBadgeProps
133
+ export type BannerProps = WBannerProps
129
134
  export type BottomNavigationProps = WBottomNavigationProps
130
135
  export type BreadcrumbProps = WBreadcrumbProps
131
- export type ButtonProps = WReactButtonProps
132
- export type CardProps = WReactCardProps
133
- export type CarouselProps = WReactCarouselProps
134
- export type CheckboxProps = WReactCheckboxProps
135
- export type CollapsibleProps = WReactCollapsibleProps
136
- export type ConditionalWrapperProps = WReactConditionalWrapperProps
137
- export type ContextMenuProps = WReactContextMenuProps
138
- export type CopyProps = WReactCopyProps
139
- export type CounterProps = WReactCounterProps
140
- export type DataTableProps = WReactDataTableProps
141
- export type FlexProps = WReactFlexProps
142
- export type FooterProps = WReactFooterProps
143
- export type GridProps = WReactGridProps
144
- export type GroupProps = WReactGroupProps
136
+ export type ButtonProps = WButtonProps
137
+ export type CardProps = WCardProps
138
+ export type CarouselProps = WCarouselProps
139
+ export type CarouselItemProps = WCarouselItemProps
140
+ export type CheckboxProps = WCheckboxProps
141
+ export type CollapsibleProps = WCollapsibleProps
142
+ export type ConditionalWrapperProps = WConditionalWrapperProps
143
+ export type ContextMenuProps = WContextMenuProps
144
+ export type CopyProps = WCopyProps
145
+ export type CounterProps = WCounterProps
146
+ export type DataTableProps = WDataTableProps
147
+ export type FlexProps = WFlexProps
148
+ export type FooterProps = WFooterProps
149
+ export type GridProps = WGridProps
150
+ export type GroupProps = WGroupProps
145
151
  export type IconProps = WIconProps
146
152
  export type ImageProps = WImageProps
147
153
  export type ImageLoaderProps = WImageLoaderProps
148
- export type InputProps = WReactInputProps
149
- export type KbdProps = WReactKbdProps
150
- export type ListProps = WReactListProps
151
- export type MasonryProps = WReactMasonryProps
152
- export type MenuProps = WReactMenuProps
153
- export type ModalProps = WReactModalProps
154
+ export type InputProps = WInputProps
155
+ export type KbdProps = WKbdProps
156
+ export type ListProps = WListProps
157
+ export type MasonryProps = WMasonryProps
158
+ export type MenuProps = WMenuProps
159
+ export type ModalProps = WModalProps
154
160
  export type OTPInputProps = WOTPInputProps
155
- export type PaginationProps = WReactPaginationProps
156
- export type PopoverProps = WReactPopoverProps
161
+ export type PaginationProps = WPaginationProps
162
+ export type PopoverProps = WPopoverProps
157
163
  export type ProgressProps = WProgressProps
158
- export type RadioProps = WReactRadioProps
159
- export type RangeSliderProps = WReactRangeSliderProps
164
+ export type RadioProps = WRadioProps
165
+ export type RangeSliderProps = WRangeSliderProps
160
166
  export type RatingProps = WRatingProps
161
- export type RibbonProps = WReactRibbonProps
162
- export type SelectProps = WReactSelectProps
163
- export type SheetProps = WReactSheetProps
164
- export type SidebarProps = WReactSidebarProps
167
+ export type RibbonProps = WRibbonProps
168
+ export type SelectProps = WSelectProps
169
+ export type SheetProps = WSheetProps
170
+ export type SidebarProps = WSidebarProps
165
171
  export type SkeletonProps = WSkeletonProps
166
- export type SliderProps = WReactSliderProps
172
+ export type SliderProps = WSliderProps
167
173
  export type SpeedDialProps = WSpeedDialProps
168
174
  export type SpinnerProps = WSpinnerProps
169
- export type SpoilerProps = WReactSpoilerProps
175
+ export type SpoilerProps = WSpoilerProps
170
176
  export type StepperProps = WStepperProps
171
- export type SwitchProps = WReactSwitchProps
177
+ export type SwitchProps = WSwitchProps
178
+ export type TabProps = WTabProps
172
179
  export type TableProps = WTableProps
173
- export type TabsProps = WReactTabsProps
174
- export type TextareaProps = WReactTextareaProps
175
- export type ThemeSwitcherProps = WReactThemeSwitcherProps
176
- export type TimelineProps = WReactTimelineProps
177
- export type TimelineItemProps = WReactTimelineItemProps
178
- export type ToastProps = WReactToastProps
180
+ export type TabsProps = WTabsProps
181
+ export type TextareaProps = WTextareaProps
182
+ export type ThemeSwitcherProps = WThemeSwitcherProps
183
+ export type TimelineProps = WTimelineProps
184
+ export type TimelineItemProps = WTimelineItemProps
185
+ export type ToastProps = WToastProps
179
186
 
180
187
  export type DataTableEventType = WDataTableEventType
181
188
  export type HeadingObject = WHeadingObject
package/react.js CHANGED
@@ -9,6 +9,7 @@ import BreadcrumbComponent from './components/Breadcrumb/Breadcrumb.tsx'
9
9
  import ButtonComponent from './components/Button/Button.tsx'
10
10
  import CardComponent from './components/Card/Card.tsx'
11
11
  import CarouselComponent from './components/Carousel/Carousel.tsx'
12
+ import CarouselItemComponent from './components/CarouselItem/CarouselItem.tsx'
12
13
  import CheckboxComponent from './components/Checkbox/Checkbox.tsx'
13
14
  import CollapsibleComponent from './components/Collapsible/Collapsible.tsx'
14
15
  import ConditionalWrapperComponent from './components/ConditionalWrapper/ConditionalWrapper.tsx'
@@ -47,6 +48,7 @@ import SpinnerComponent from './components/Spinner/Spinner.tsx'
47
48
  import SpoilerComponent from './components/Spoiler/Spoiler.tsx'
48
49
  import StepperComponent from './components/Stepper/Stepper.tsx'
49
50
  import SwitchComponent from './components/Switch/Switch.tsx'
51
+ import TabComponent from './components/Tab/Tab.tsx'
50
52
  import TableComponent from './components/Table/Table.tsx'
51
53
  import TabsComponent from './components/Tabs/Tabs.tsx'
52
54
  import TextareaComponent from './components/Textarea/Textarea.tsx'
@@ -66,6 +68,7 @@ export const Breadcrumb = BreadcrumbComponent
66
68
  export const Button = ButtonComponent
67
69
  export const Card = CardComponent
68
70
  export const Carousel = CarouselComponent
71
+ export const CarouselItem = CarouselItemComponent
69
72
  export const Checkbox = CheckboxComponent
70
73
  export const Collapsible = CollapsibleComponent
71
74
  export const ConditionalWrapper = ConditionalWrapperComponent
@@ -104,6 +107,7 @@ export const Spinner = SpinnerComponent
104
107
  export const Spoiler = SpoilerComponent
105
108
  export const Stepper = StepperComponent
106
109
  export const Switch = SwitchComponent
110
+ export const Tab = TabComponent
107
111
  export const Table = TableComponent
108
112
  export const Tabs = TabsComponent
109
113
  export const Textarea = TextareaComponent
@@ -0,0 +1,41 @@
1
+ @use 'sass:math';
2
+ @use 'sass:color';
3
+
4
+ @function _linear-channel($c) {
5
+ $c: math.div($c, 255);
6
+
7
+ @if $c <= 0.04045 {
8
+ @return math.div($c, 12.92);
9
+ }
10
+
11
+ @return math.pow(math.div($c + 0.055, 1.055), 2.4);
12
+ }
13
+
14
+ @function luminance($color) {
15
+ $r: _linear-channel(color.channel($color, 'red', $space: rgb));
16
+ $g: _linear-channel(color.channel($color, 'green', $space: rgb));
17
+ $b: _linear-channel(color.channel($color, 'blue', $space: rgb));
18
+
19
+ @return 0.2126 * $r + 0.7152 * $g + 0.0722 * $b;
20
+ }
21
+
22
+ @function contrast($c1, $c2) {
23
+ $l1: luminance($c1);
24
+ $l2: luminance($c2);
25
+
26
+ @if $l1 < $l2 {
27
+ $tmp: $l1;
28
+ $l1: $l2;
29
+ $l2: $tmp;
30
+ }
31
+
32
+ @return math.div($l1 + 0.05, $l2 + 0.05);
33
+ }
34
+
35
+ @function wcag-required($level) {
36
+ @if $level == AAA {
37
+ @return 7;
38
+ }
39
+
40
+ @return 4.5;
41
+ }