webcoreui 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +9 -1
  2. package/astro.d.ts +5 -0
  3. package/astro.js +2 -0
  4. package/components/BottomNavigation/BottomNavigation.astro +1 -3
  5. package/components/Breadcrumb/Breadcrumb.astro +1 -3
  6. package/components/Carousel/Carousel.astro +79 -9
  7. package/components/Carousel/Carousel.svelte +40 -9
  8. package/components/Carousel/Carousel.tsx +46 -11
  9. package/components/Carousel/carousel.ts +3 -1
  10. package/components/Copy/Copy.astro +3 -5
  11. package/components/Copy/Copy.svelte +1 -1
  12. package/components/Copy/Copy.tsx +1 -1
  13. package/components/Input/input.ts +62 -62
  14. package/components/Modal/Modal.astro +75 -75
  15. package/components/Modal/modal.ts +25 -25
  16. package/components/OTPInput/OTPInput.astro +194 -96
  17. package/components/OTPInput/OTPInput.svelte +141 -26
  18. package/components/OTPInput/OTPInput.tsx +140 -36
  19. package/components/OTPInput/otpinput.module.scss +59 -85
  20. package/components/Pagination/Pagination.astro +3 -3
  21. package/components/Pagination/Pagination.svelte +4 -4
  22. package/components/Pagination/pagination.module.scss +3 -3
  23. package/components/RangeSlider/RangeSlider.astro +270 -0
  24. package/components/RangeSlider/RangeSlider.svelte +188 -0
  25. package/components/RangeSlider/RangeSlider.tsx +205 -0
  26. package/components/RangeSlider/rangeslider.module.scss +143 -0
  27. package/components/RangeSlider/rangeslider.ts +37 -0
  28. package/components/Sidebar/Sidebar.astro +1 -3
  29. package/components/Stepper/Stepper.astro +1 -3
  30. package/index.d.ts +23 -4
  31. package/index.js +2 -0
  32. package/package.json +109 -103
  33. package/react.d.ts +5 -0
  34. package/react.js +2 -0
  35. package/scss/global/breakpoints.scss +15 -0
  36. package/scss/setup.scss +7 -1
  37. package/svelte.d.ts +5 -0
  38. package/svelte.js +2 -0
  39. package/utils/DOMUtils.ts +27 -2
  40. package/utils/bodyFreeze.ts +1 -1
  41. package/utils/context.ts +2 -2
  42. package/utils/getBreakpoint.ts +17 -0
  43. package/utils/isOneOf.ts +5 -0
  44. package/utils/modal.ts +54 -55
  45. package/utils/toast.ts +1 -1
@@ -0,0 +1,143 @@
1
+ @use '../../scss/config.scss' as *;
2
+
3
+ body {
4
+ --w-range-slider-background: var(--w-color-primary-50);
5
+ --w-range-slider-color: var(--w-color-primary);
6
+ --w-range-slider-thumb: var(--w-color-primary-50);
7
+ }
8
+
9
+ .label {
10
+ @include layout(flex, column, xs);
11
+
12
+ cursor: pointer;
13
+ }
14
+
15
+ .container {
16
+ @include layout(flex, v-center, xs);
17
+
18
+ svg {
19
+ @include size(14px);
20
+ }
21
+
22
+ button {
23
+ @include layout(flex, v-center, xs);
24
+ @include background(transparent);
25
+ @include typography(primary, default);
26
+ @include border(0);
27
+
28
+ cursor: pointer;
29
+ }
30
+ }
31
+
32
+ .slider {
33
+ @include position(relative);
34
+ @include border-radius(xl);
35
+ @include size(h10px);
36
+ @include background(var(--w-range-slider-background));
37
+ @include visibility(hidden);
38
+
39
+ flex: 1;
40
+ }
41
+
42
+ .range {
43
+ @include position(absolute);
44
+ @include background(var(--w-range-slider-color));
45
+ @include size('h100%');
46
+ @include border-radius();
47
+
48
+ &[data-disabled] {
49
+ @include background(primary-30);
50
+ cursor: no-drop;
51
+ }
52
+ }
53
+
54
+ .input {
55
+ @include size('w100%', h10px);
56
+ @include background(none);
57
+ @include spacing(m0);
58
+ @include position(absolute, t0);
59
+
60
+ -webkit-appearance: none;
61
+ appearance: none;
62
+ pointer-events: none;
63
+
64
+ &:focus-visible {
65
+ outline: none;
66
+
67
+ &::-webkit-slider-thumb {
68
+ @include border(info);
69
+ }
70
+
71
+ &::-moz-range-thumb {
72
+ @include border(info);
73
+ }
74
+ }
75
+
76
+ &[disabled]::-webkit-slider-thumb {
77
+ @include background(primary-50);
78
+ @include border(primary-30);
79
+ cursor: no-drop;
80
+ }
81
+
82
+ &[disabled]::-moz-range-thumb {
83
+ @include background(primary-50);
84
+ @include border(primary-30);
85
+ cursor: no-drop;
86
+ }
87
+
88
+ &[data-min]::-webkit-slider-thumb {
89
+ box-shadow: 3px 0 0 3px var(--w-range-slider-color);
90
+ }
91
+
92
+ &[data-max]::-webkit-slider-thumb {
93
+ box-shadow: -3px 0 0 3px var(--w-range-slider-color);
94
+ }
95
+
96
+ &[data-min]::-moz-range-thumb {
97
+ box-shadow: 3px 0 0 3px var(--w-range-slider-color);
98
+ }
99
+
100
+ &[data-max]::-moz-range-thumb {
101
+ box-shadow: -3px 0 0 3px var(--w-range-slider-color);
102
+ }
103
+
104
+
105
+ &[disabled][data-min]::-webkit-slider-thumb {
106
+ box-shadow: 3px 0 0 3px var(--w-color-primary-30);
107
+ }
108
+
109
+ &[disabled][data-max]::-webkit-slider-thumb {
110
+ box-shadow: -3px 0 0 3px var(--w-color-primary-30);
111
+ }
112
+
113
+ &[disabled][data-min]::-moz-range-thumb {
114
+ box-shadow: 3px 0 0 3px var(--w-color-primary-30);
115
+ }
116
+
117
+ &[disabled][data-max]::-moz-range-thumb {
118
+ box-shadow: -3px 0 0 3px var(--w-color-primary-30);
119
+ }
120
+ }
121
+
122
+ .input::-webkit-slider-thumb {
123
+ @include background(var(--w-range-slider-thumb));
124
+ @include size(10px);
125
+ @include border-radius(max);
126
+ @include border(var(--w-range-slider-color));
127
+
128
+ -webkit-appearance: none;
129
+ appearance: none;
130
+ pointer-events: auto;
131
+ cursor: pointer;
132
+ }
133
+
134
+ .input::-moz-range-thumb {
135
+ @include background(var(--w-range-slider-thumb));
136
+ @include size(9px);
137
+ @include border-radius(max);
138
+ @include border(var(--w-range-slider-color));
139
+
140
+ pointer-events: auto;
141
+ appearance: none;
142
+ cursor: pointer;
143
+ }
@@ -0,0 +1,37 @@
1
+ import type { IconProps } from '../Icon/icon'
2
+
3
+ export type RangeSliderEventType = {
4
+ min: number
5
+ max: number
6
+ }
7
+
8
+ export type RangeSliderProps = {
9
+ min?: number
10
+ max?: number
11
+ selectedMin?: number
12
+ selectedMax?: number
13
+ step?: number
14
+ minGap?: number
15
+ disabled?: boolean
16
+ color?: string
17
+ background?: string
18
+ thumb?: string
19
+ label?: string
20
+ subText?: string
21
+ minLabel?: string
22
+ maxLabel?: string
23
+ minIcon?: IconProps['type'] | string
24
+ maxIcon?: IconProps['type'] | string
25
+ interactiveLabels?: boolean
26
+ updateLabels?: boolean
27
+ className?: string
28
+ }
29
+
30
+ export type SvelteRangeSliderProps = {
31
+ onChange?: (event: RangeSliderEventType) => void
32
+ } & RangeSliderProps
33
+
34
+ export type ReactRangeSliderProps = {
35
+ onChange?: (event: RangeSliderEventType) => void
36
+ } & RangeSliderProps
37
+
@@ -6,8 +6,6 @@ import Icon from '../Icon/Icon.astro'
6
6
 
7
7
  import styles from './sidebar.module.scss'
8
8
 
9
- import type { IconProps } from '../Icon/icon'
10
-
11
9
  interface Props extends SidebarProps {}
12
10
 
13
11
  const {
@@ -40,7 +38,7 @@ const classes = [
40
38
  <Fragment>
41
39
  {item.icon.startsWith('<svg')
42
40
  ? <Fragment set:html={item.icon} />
43
- : <Icon type={item.icon as IconProps['type']} />
41
+ : <Icon type={item.icon} />
44
42
  }
45
43
  </Fragment>
46
44
  )}
@@ -6,8 +6,6 @@ import Icon from '../Icon/Icon.astro'
6
6
 
7
7
  import styles from './stepper.module.scss'
8
8
 
9
- import type { IconProps } from '../Icon/icon'
10
-
11
9
  interface Props extends StepperProps {}
12
10
 
13
11
  const {
@@ -46,7 +44,7 @@ const styleVariables = [
46
44
  <Fragment>
47
45
  {item.icon.startsWith('<svg')
48
46
  ? <Fragment set:html={item.icon} />
49
- : <Icon type={item.icon as IconProps['type']} />
47
+ : <Icon type={item.icon} />
50
48
  }
51
49
  </Fragment>
52
50
  ) : index + 1}
package/index.d.ts CHANGED
@@ -1,4 +1,9 @@
1
1
 
2
+ export type Breakpoint = 'xs'
3
+ | 'sm'
4
+ | 'md'
5
+ | 'lg'
6
+
2
7
  export type Gap = 'none'
3
8
  | 'xxs'
4
9
  | 'xs'
@@ -68,6 +73,13 @@ export type getLayoutClassesConfig = {
68
73
  wrap?: Responsive<Wrap>
69
74
  }
70
75
 
76
+ export type ModalInstance = {
77
+ open: (freeze?: boolean) => void
78
+ close: () => void
79
+ replaceWith: (modal: ModalInstance) => void
80
+ remove: () => void
81
+ }
82
+
71
83
  export type ModalCallback = {
72
84
  trigger: Element | null
73
85
  modal: HTMLElement
@@ -147,12 +159,20 @@ declare module 'webcoreui' {
147
159
  callback: any,
148
160
  all?: boolean
149
161
  ) => void
162
+ export const off: (
163
+ selector: string | HTMLElement | Document,
164
+ event: string,
165
+ fn: any,
166
+ all?: boolean
167
+ ) => void
150
168
 
151
169
  export const dispatch: (event: string, detail: unknown) => void
152
170
  export const listen: (event: string, callback: (e: any) => unknown) => {
153
171
  remove: () => void
154
172
  }
155
173
 
174
+ export const getBreakpoint: () => string
175
+
156
176
  export const getLayoutClasses: (config: getLayoutClassesConfig) => string
157
177
 
158
178
  export const clamp: (num: number, min: number, max: number) => number
@@ -164,10 +184,9 @@ declare module 'webcoreui' {
164
184
  output: [start: number, end: number]
165
185
  ) => number
166
186
 
167
- export const modal: (config: Modal | string) => {
168
- open: () => void
169
- remove: () => void
170
- } | void
187
+ export const isOneOf: <T extends string>(values: readonly T[]) => (value: string) => value is T
188
+
189
+ export const modal: (config: Modal | string) => ModalInstance | undefined
171
190
  export const closeModal: (modal: string) => void
172
191
 
173
192
  export const popover: (config: Popover) => {
package/index.js CHANGED
@@ -5,8 +5,10 @@ export * from './utils/cookies.ts'
5
5
  export * from './utils/debounce.ts'
6
6
  export * from './utils/DOMUtils.ts'
7
7
  export * from './utils/event.ts'
8
+ export * from './utils/getBreakpoint.ts'
8
9
  export * from './utils/getLayoutClasses.ts'
9
10
  export * from './utils/interpolate.ts'
11
+ export * from './utils/isOneOf.ts'
10
12
  export * from './utils/modal.ts'
11
13
  export * from './utils/popover.ts'
12
14
  export * from './utils/toast.ts'
package/package.json CHANGED
@@ -1,103 +1,109 @@
1
- {
2
- "name": "webcoreui",
3
- "type": "module",
4
- "version": "1.1.0",
5
- "scripts": {
6
- "prepare": "husky",
7
- "pre-commit": "lint-staged",
8
- "dev": "astro dev",
9
- "build": "astro check && astro build",
10
- "build:package": "node scripts/build.js",
11
- "compile": "node scripts/sass.js",
12
- "test": "cd .. && vitest run && npm run test:sass",
13
- "test:dev": "vitest",
14
- "test:run": "vitest run",
15
- "test:sass": "vitest run src/tests/scss.test.js --config astro.config.mjs",
16
- "create-component": "node scripts/createComponent.js",
17
- "lint": "eslint src/**/* --fix"
18
- },
19
- "devDependencies": {
20
- "@astrojs/check": "0.9.4",
21
- "@astrojs/node": "9.4.1",
22
- "@astrojs/react": "4.3.0",
23
- "@astrojs/svelte": "7.1.0",
24
- "@eslint/js": "9.23.0",
25
- "@typescript-eslint/parser": "8.39.1",
26
- "astro": "5.13.0",
27
- "astro-eslint-parser": "1.2.2",
28
- "eslint": "9.23.0",
29
- "eslint-plugin-astro": "1.3.1",
30
- "eslint-plugin-react": "7.37.4",
31
- "eslint-plugin-simple-import-sort": "12.1.1",
32
- "eslint-plugin-svelte": "3.3.3",
33
- "husky": "9.1.7",
34
- "jsdom": "26.0.0",
35
- "lint-staged": "15.5.0",
36
- "react": "19.0.0",
37
- "react-dom": "19.0.0",
38
- "sass": "1.90.0",
39
- "sass-true": "8.1.0",
40
- "svelte": "5.38.1",
41
- "svelte-eslint-parser": "1.1.0",
42
- "typescript": "5.9.2",
43
- "typescript-eslint": "8.39.1",
44
- "vite-tsconfig-paths": "5.1.4",
45
- "vitest": "3.0.4"
46
- },
47
- "exports": {
48
- ".": "./index.js",
49
- "./astro": "./astro.js",
50
- "./svelte": "./svelte.js",
51
- "./react": "./react.js",
52
- "./icons": "./icons.js",
53
- "./integration": "./integration.js",
54
- "./styles": "./scss/index.scss",
55
- "./config": "./scss/config.scss"
56
- },
57
- "files": [
58
- "components",
59
- "icons",
60
- "scss",
61
- "utils",
62
- "astro.d.ts",
63
- "astro.js",
64
- "icons.d.ts",
65
- "icons.js",
66
- "svelte.d.ts",
67
- "svelte.js",
68
- "react.d.ts",
69
- "react.js",
70
- "index.js",
71
- "index.d.ts",
72
- "integration.js",
73
- "integration.d.ts",
74
- "README.md",
75
- "LICENSE"
76
- ],
77
- "license": "MIT",
78
- "description": "UI component and template library for Astro, Svelte, and React apps styled with Sass.",
79
- "keywords": [
80
- "webcore",
81
- "component",
82
- "components",
83
- "ui components",
84
- "component library",
85
- "astro components",
86
- "svelte components",
87
- "react components",
88
- "frontend",
89
- "library",
90
- "sass"
91
- ],
92
- "homepage": "https://webcoreui.dev",
93
- "repository": {
94
- "type": "git",
95
- "url": "git+https://github.com/Frontendland/webcoreui.git"
96
- },
97
- "bugs": {
98
- "url": "https://github.com/Frontendland/webcoreui/issues"
99
- },
100
- "lint-staged": {
101
- "*.{js,ts,jsx,tsx,svelte,astro}": "eslint src/**/*"
102
- }
103
- }
1
+ {
2
+ "name": "webcoreui",
3
+ "type": "module",
4
+ "version": "1.2.0",
5
+ "scripts": {
6
+ "prepare": "husky",
7
+ "pre-commit": "lint-staged",
8
+ "dev": "astro dev",
9
+ "start": "astro preview",
10
+ "build": "astro check && astro build",
11
+ "build:package": "node scripts/build.js",
12
+ "compile": "node scripts/sass.js",
13
+ "test": "cd .. && vitest run && npm run test:sass",
14
+ "test:dev": "vitest",
15
+ "test:run": "vitest run",
16
+ "test:sass": "vitest run src/tests/unit/scss.test.js --config astro.config.mjs",
17
+ "test:e2e": "playwright test",
18
+ "test:e2e:update": "playwright test --update-snapshots",
19
+ "test:e2e:ui": "playwright test --ui",
20
+ "create-component": "node scripts/createComponent.js",
21
+ "lint": "eslint src/**/* --fix"
22
+ },
23
+ "devDependencies": {
24
+ "@astrojs/check": "0.9.4",
25
+ "@astrojs/node": "9.4.1",
26
+ "@astrojs/react": "4.3.0",
27
+ "@astrojs/svelte": "7.1.0",
28
+ "@eslint/js": "9.23.0",
29
+ "@playwright/test": "1.55.1",
30
+ "@types/node": "24.6.2",
31
+ "@typescript-eslint/parser": "8.39.1",
32
+ "astro": "5.13.0",
33
+ "astro-eslint-parser": "1.2.2",
34
+ "eslint": "9.23.0",
35
+ "eslint-plugin-astro": "1.3.1",
36
+ "eslint-plugin-react": "7.37.4",
37
+ "eslint-plugin-simple-import-sort": "12.1.1",
38
+ "eslint-plugin-svelte": "3.3.3",
39
+ "husky": "9.1.7",
40
+ "jsdom": "26.0.0",
41
+ "lint-staged": "15.5.0",
42
+ "react": "19.0.0",
43
+ "react-dom": "19.0.0",
44
+ "sass": "1.90.0",
45
+ "sass-true": "8.1.0",
46
+ "svelte": "5.38.1",
47
+ "svelte-eslint-parser": "1.1.0",
48
+ "typescript": "5.9.2",
49
+ "typescript-eslint": "8.39.1",
50
+ "vite-tsconfig-paths": "5.1.4",
51
+ "vitest": "3.0.4"
52
+ },
53
+ "exports": {
54
+ ".": "./index.js",
55
+ "./astro": "./astro.js",
56
+ "./svelte": "./svelte.js",
57
+ "./react": "./react.js",
58
+ "./icons": "./icons.js",
59
+ "./integration": "./integration.js",
60
+ "./styles": "./scss/index.scss",
61
+ "./config": "./scss/config.scss"
62
+ },
63
+ "files": [
64
+ "components",
65
+ "icons",
66
+ "scss",
67
+ "utils",
68
+ "astro.d.ts",
69
+ "astro.js",
70
+ "icons.d.ts",
71
+ "icons.js",
72
+ "svelte.d.ts",
73
+ "svelte.js",
74
+ "react.d.ts",
75
+ "react.js",
76
+ "index.js",
77
+ "index.d.ts",
78
+ "integration.js",
79
+ "integration.d.ts",
80
+ "README.md",
81
+ "LICENSE"
82
+ ],
83
+ "license": "MIT",
84
+ "description": "UI component and template library for Astro, Svelte, and React apps styled with Sass.",
85
+ "keywords": [
86
+ "webcore",
87
+ "component",
88
+ "components",
89
+ "ui components",
90
+ "component library",
91
+ "astro components",
92
+ "svelte components",
93
+ "react components",
94
+ "frontend",
95
+ "library",
96
+ "sass"
97
+ ],
98
+ "homepage": "https://webcoreui.dev",
99
+ "repository": {
100
+ "type": "git",
101
+ "url": "git+https://github.com/Frontendland/webcoreui.git"
102
+ },
103
+ "bugs": {
104
+ "url": "https://github.com/Frontendland/webcoreui/issues"
105
+ },
106
+ "lint-staged": {
107
+ "*.{js,ts,jsx,tsx,svelte,astro}": "eslint src/**/*"
108
+ }
109
+ }
package/react.d.ts CHANGED
@@ -32,6 +32,7 @@ import type { ReactPaginationProps as WReactPaginationProps } from './components
32
32
  import type { ReactPopoverProps as WReactPopoverProps } from './components/Popover/popover'
33
33
  import type { ProgressProps as WProgressProps } from './components/Progress/progress'
34
34
  import type { ReactRadioProps as WReactRadioProps } from './components/Radio/radio'
35
+ import type { ReactRangeSliderProps as WReactRangeSliderProps } from './components/RangeSlider/rangeslider'
35
36
  import type { RatingProps as WRatingProps } from './components/Rating/rating'
36
37
  import type { ReactRibbonProps as WReactRibbonProps } from './components/Ribbon/ribbon'
37
38
  import type { ReactSelectProps as WReactSelectProps } from './components/Select/select'
@@ -55,6 +56,7 @@ import type { ReactToastProps as WReactToastProps } from './components/Toast/toa
55
56
  import type { DataTableEventType as WDataTableEventType, HeadingObject as WHeadingObject } from './components/DataTable/datatable.ts'
56
57
  import type { ListEventType as WListEventType } from './components/List/list.ts'
57
58
  import type { PaginationEventType as WPaginationEventType } from './components/Pagination/pagination.ts'
59
+ import type { RangeSliderEventType as WRangeSliderEventType } from './components/RangeSlider/rangeslider.ts'
58
60
  import type { SelectEventType as WSelectEventType } from './components/Select/select.ts'
59
61
 
60
62
  declare module 'webcoreui/react' {
@@ -91,6 +93,7 @@ declare module 'webcoreui/react' {
91
93
  export const Popover: FC<WReactPopoverProps>
92
94
  export const Progress: FC<WProgressProps>
93
95
  export const Radio: FC<WReactRadioProps>
96
+ export const RangeSlider: FC<WReactRangeSliderProps>
94
97
  export const Rating: FC<WRatingProps>
95
98
  export const Ribbon: FC<WReactRibbonProps>
96
99
  export const Select: FC<WReactSelectProps>
@@ -144,6 +147,7 @@ declare module 'webcoreui/react' {
144
147
  export type PopoverProps = WReactPopoverProps
145
148
  export type ProgressProps = WProgressProps
146
149
  export type RadioProps = WReactRadioProps
150
+ export type RangeSliderProps = WReactRangeSliderProps
147
151
  export type RatingProps = WRatingProps
148
152
  export type RibbonProps = WReactRibbonProps
149
153
  export type SelectProps = WReactSelectProps
@@ -168,5 +172,6 @@ declare module 'webcoreui/react' {
168
172
  export type HeadingObject = WHeadingObject
169
173
  export type ListEventType = WListEventType
170
174
  export type PaginationEventType = WPaginationEventType
175
+ export type RangeSliderEventType = WRangeSliderEventType
171
176
  export type SelectEventType = WSelectEventType
172
177
  }
package/react.js CHANGED
@@ -31,6 +31,7 @@ import PaginationComponent from './components/Pagination/Pagination.tsx'
31
31
  import PopoverComponent from './components/Popover/Popover.tsx'
32
32
  import ProgressComponent from './components/Progress/Progress.tsx'
33
33
  import RadioComponent from './components/Radio/Radio.tsx'
34
+ import RangeSliderComponent from './components/RangeSlider/RangeSlider.tsx'
34
35
  import RatingComponent from './components/Rating/Rating.tsx'
35
36
  import RibbonComponent from './components/Ribbon/Ribbon.tsx'
36
37
  import SelectComponent from './components/Select/Select.tsx'
@@ -84,6 +85,7 @@ export const Pagination = PaginationComponent
84
85
  export const Popover = PopoverComponent
85
86
  export const Progress = ProgressComponent
86
87
  export const Radio = RadioComponent
88
+ export const RangeSlider = RangeSliderComponent
87
89
  export const Rating = RatingComponent
88
90
  export const Ribbon = RibbonComponent
89
91
  export const Select = SelectComponent
@@ -0,0 +1,15 @@
1
+ @use '../config' as *;
2
+
3
+ @mixin breakpoints() {
4
+ :root {
5
+ --w-breakpoint: xs;
6
+ }
7
+
8
+ @each $key, $value in $breakpoints {
9
+ @include media($key) {
10
+ :root {
11
+ --w-breakpoint: #{$key};
12
+ }
13
+ }
14
+ }
15
+ }
package/scss/setup.scss CHANGED
@@ -1,6 +1,7 @@
1
1
  @use 'sass:map';
2
2
 
3
3
  @use './resets.scss' as *;
4
+ @use './global/breakpoints.scss' as *;
4
5
  @use './global/scrollbar.scss' as *;
5
6
  @use './global/theme.scss' as *;
6
7
  @use './global/tooltip.scss' as *;
@@ -10,7 +11,8 @@ $config: (
10
11
  includeResets: true,
11
12
  includeUtilities: true,
12
13
  includeTooltip: true,
13
- includeScrollbarStyles: true
14
+ includeScrollbarStyles: true,
15
+ includeBreakpoints: true
14
16
  );
15
17
 
16
18
  body {
@@ -43,6 +45,10 @@ body {
43
45
  @include tooltip();
44
46
  }
45
47
 
48
+ @if (config('includeBreakpoints')) {
49
+ @include breakpoints();
50
+ }
51
+
46
52
  @if (config('theme')) {
47
53
  @include theme(config('theme'));
48
54
  }
package/svelte.d.ts CHANGED
@@ -32,6 +32,7 @@ import type { SveltePaginationProps as WSveltePaginationProps } from './componen
32
32
  import type { SveltePopoverProps as WSveltePopoverProps } from './components/Popover/popover'
33
33
  import type { ProgressProps as WProgressProps } from './components/Progress/progress'
34
34
  import type { SvelteRadioProps as WSvelteRadioProps } from './components/Radio/radio'
35
+ import type { SvelteRangeSliderProps as WSvelteRangeSliderProps } from './components/RangeSlider/rangeslider'
35
36
  import type { RatingProps as WRatingProps } from './components/Rating/rating'
36
37
  import type { SvelteRibbonProps as WSvelteRibbonProps } from './components/Ribbon/ribbon'
37
38
  import type { SvelteSelectProps as WSvelteSelectProps } from './components/Select/select'
@@ -55,6 +56,7 @@ import type { SvelteToastProps as WSvelteToastProps } from './components/Toast/t
55
56
  import type { DataTableEventType as WDataTableEventType, HeadingObject as WHeadingObject } from './components/DataTable/datatable.ts'
56
57
  import type { ListEventType as WListEventType } from './components/List/list.ts'
57
58
  import type { PaginationEventType as WPaginationEventType } from './components/Pagination/pagination.ts'
59
+ import type { RangeSliderEventType as WRangeSliderEventType } from './components/RangeSlider/rangeslider.ts'
58
60
  import type { SelectEventType as WSelectEventType } from './components/Select/select.ts'
59
61
 
60
62
  declare module 'webcoreui/svelte' {
@@ -91,6 +93,7 @@ declare module 'webcoreui/svelte' {
91
93
  export const Popover: Component<WSveltePopoverProps>
92
94
  export const Progress: Component<WProgressProps>
93
95
  export const Radio: Component<WSvelteRadioProps>
96
+ export const RangeSlider: Component<WSvelteRangeSliderProps>
94
97
  export const Rating: Component<WRatingProps>
95
98
  export const Ribbon: Component<WSvelteRibbonProps>
96
99
  export const Select: Component<WSvelteSelectProps>
@@ -144,6 +147,7 @@ declare module 'webcoreui/svelte' {
144
147
  export type PopoverProps = WSveltePopoverProps
145
148
  export type ProgressProps = WProgressProps
146
149
  export type RadioProps = WSvelteRadioProps
150
+ export type RangeSliderProps = WSvelteRangeSliderProps
147
151
  export type RatingProps = WRatingProps
148
152
  export type RibbonProps = WSvelteRibbonProps
149
153
  export type SelectProps = WSvelteSelectProps
@@ -168,5 +172,6 @@ declare module 'webcoreui/svelte' {
168
172
  export type HeadingObject = WHeadingObject
169
173
  export type ListEventType = WListEventType
170
174
  export type PaginationEventType = WPaginationEventType
175
+ export type RangeSliderEventType = WRangeSliderEventType
171
176
  export type SelectEventType = WSelectEventType
172
177
  }
package/svelte.js CHANGED
@@ -31,6 +31,7 @@ import PaginationComponent from './components/Pagination/Pagination.svelte'
31
31
  import PopoverComponent from './components/Popover/Popover.svelte'
32
32
  import ProgressComponent from './components/Progress/Progress.svelte'
33
33
  import RadioComponent from './components/Radio/Radio.svelte'
34
+ import RangeSliderComponent from './components/RangeSlider/RangeSlider.svelte'
34
35
  import RatingComponent from './components/Rating/Rating.svelte'
35
36
  import RibbonComponent from './components/Ribbon/Ribbon.svelte'
36
37
  import SelectComponent from './components/Select/Select.svelte'
@@ -84,6 +85,7 @@ export const Pagination = PaginationComponent
84
85
  export const Popover = PopoverComponent
85
86
  export const Progress = ProgressComponent
86
87
  export const Radio = RadioComponent
88
+ export const RangeSlider = RangeSliderComponent
87
89
  export const Rating = RatingComponent
88
90
  export const Ribbon = RibbonComponent
89
91
  export const Select = SelectComponent