webcoreui 1.0.0 → 1.1.0-beta.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.
package/README.md CHANGED
@@ -289,7 +289,9 @@ import { Accordion } from 'webcoreui/react'
289
289
  - [ComponentMap](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/ComponentMap)
290
290
  - [DeviceMockup](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/DeviceMockup)
291
291
  - [ErrorPage](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/ErrorPage)
292
+ - [ExpandableTable](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/ExpandableTable)
292
293
  - [FAQ](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/FAQ)
294
+ - [Form](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/Form)
293
295
  - [GridWithIcons](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/GridWithIcons)
294
296
  - [Hero](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/Hero)
295
297
  - [Icon](https://github.com/Frontendland/webcoreui/tree/main/src/blocks/Icon)
@@ -307,6 +309,7 @@ import { Accordion } from 'webcoreui/react'
307
309
 
308
310
  ## Templates
309
311
 
312
+ - [Authentication](https://github.com/Frontendland/webcoreui/tree/main/src/templates/Authentication)
310
313
  - [Blog](https://github.com/Frontendland/webcoreui/tree/main/src/templates/Blog)
311
314
  - [Portfolio](https://github.com/Frontendland/webcoreui/tree/main/src/templates/Portfolio)
312
315
  - [ProductPage](https://github.com/Frontendland/webcoreui/tree/main/src/templates/ProductPage)
@@ -13,25 +13,28 @@
13
13
 
14
14
  import type { PaginationEventType } from '../Pagination/pagination'
15
15
 
16
- export let items: SvelteCarouselProps['items'] = 0
17
- export let itemsPerSlide: SvelteCarouselProps['itemsPerSlide'] = 1
18
- export let subText: SvelteCarouselProps['subText'] = ''
19
- export let scrollSnap: SvelteCarouselProps['scrollSnap'] = true
20
- export let progress: SvelteCarouselProps['progress'] = false
21
- export let pagination: SvelteCarouselProps['pagination'] = {}
22
- export let effect: SvelteCarouselProps['effect'] = null
23
- export let debounce: SvelteCarouselProps['debounce'] = 20
24
- export let className: SvelteCarouselProps['className'] = ''
25
- export let wrapperClassName: SvelteCarouselProps['wrapperClassName'] = ''
26
- export let paginationClassName: SvelteCarouselProps['paginationClassName'] = ''
27
- export let onScroll: SvelteCarouselProps['onScroll'] = () => {}
16
+ let {
17
+ items = 0,
18
+ itemsPerSlide = 1,
19
+ subText,
20
+ scrollSnap = true,
21
+ progress,
22
+ pagination,
23
+ effect,
24
+ debounce = 20,
25
+ className,
26
+ wrapperClassName,
27
+ paginationClassName,
28
+ children,
29
+ onScroll
30
+ }: SvelteCarouselProps = $props()
28
31
 
29
32
  let carouselContainer: HTMLDivElement
30
33
  let carousel: HTMLUListElement
31
34
  let carouselItems: HTMLCollection | NodeListOf<HTMLLIElement>
32
- let progressValue = 0
35
+ let progressValue = $state(0)
33
36
  let paginated = false
34
- let currentPage = 1
37
+ let currentPage = $state(1)
35
38
 
36
39
  const classes = classNames([
37
40
  styles.carousel,
@@ -141,7 +144,7 @@
141
144
  <section class={classes}>
142
145
  <div class={containerClasses} bind:this={carouselContainer}>
143
146
  <ul class={wrapperClasses} style={style} bind:this={carousel}>
144
- <slot />
147
+ {@render children?.()}
145
148
  </ul>
146
149
  </div>
147
150
  <ConditionalWrapper
@@ -66,7 +66,7 @@
66
66
  })
67
67
  }
68
68
 
69
- let calculatedCurrentPage = $state(
69
+ let calculatedCurrentPage = $derived(
70
70
  currentPage
71
71
  || (pages?.findIndex(page => page.active) || -1) + 1
72
72
  || 1
@@ -38,5 +38,5 @@ const styleVariables = classNames([
38
38
  <label class:list={classes} style={styleVariables}>
39
39
  <input type="checkbox" checked={toggled} disabled={disabled} {...rest} />
40
40
  <span class={styles.toggle}></span>
41
- {label && <span class={styles.label}>{label}</span>}
41
+ {label && <span class={styles.label} set:html={label} />}
42
42
  </label>
@@ -44,6 +44,6 @@
44
44
  />
45
45
  <span class={styles.toggle}></span>
46
46
  {#if label}
47
- <span class={styles.label}>{label}</span>
47
+ <span class={styles.label}>{@html label}</span>
48
48
  {/if}
49
49
  </label>
@@ -42,7 +42,12 @@ const Switch = ({
42
42
  {...rest}
43
43
  />
44
44
  <span className={styles.toggle}></span>
45
- {label && <span className={styles.label}>{label}</span>}
45
+ {label && (
46
+ <span
47
+ className={styles.label}
48
+ dangerouslySetInnerHTML={{ __html: label }}
49
+ />
50
+ )}
46
51
  </label>
47
52
  )
48
53
  }
package/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
 
2
+ import type { AstroIntegration } from 'astro'
3
+
2
4
  export type Gap = 'none'
3
5
  | 'xxs'
4
6
  | 'xs'
@@ -177,4 +179,5 @@ declare module 'webcoreui' {
177
179
  export const setDefaultTimeout: (time: number) => number
178
180
  export const toast: (config: Toast | string) => void
179
181
  export const hideToast: (element: string) => void
182
+ export const webcore: () => AstroIntegration
180
183
  }
package/index.js CHANGED
@@ -8,4 +8,5 @@ export * from './utils/getLayoutClasses.ts'
8
8
  export * from './utils/interpolate.ts'
9
9
  export * from './utils/modal.ts'
10
10
  export * from './utils/popover.ts'
11
- export * from './utils/toast.ts'
11
+ export * from './utils/toast.ts'
12
+ export * from './utils/webcore.ts'
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "webcoreui",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.1.0-beta.0",
5
5
  "scripts": {
6
6
  "prepare": "husky",
7
7
  "pre-commit": "lint-staged",
8
8
  "dev": "astro dev",
9
9
  "build": "astro check && astro build",
10
10
  "build:package": "node scripts/build.js",
11
- "build:local": "node scripts/build.js --local",
12
11
  "compile": "node scripts/sass.js",
13
12
  "test": "cd .. && vitest run && npm run test:sass",
14
13
  "test:dev": "vitest",
@@ -23,6 +22,7 @@
23
22
  "@astrojs/react": "4.2.1",
24
23
  "@astrojs/svelte": "7.0.7",
25
24
  "@eslint/js": "9.23.0",
25
+ "@types/node": "24.2.1",
26
26
  "@typescript-eslint/parser": "8.27.0",
27
27
  "astro": "5.5.4",
28
28
  "astro-eslint-parser": "1.2.2",
@@ -1,4 +1,4 @@
1
- @use '../../../../webcore.config.scss' as *;
1
+ @use 'webcore.config.scss' as *;
2
2
 
3
3
  $colorPalette: (
4
4
  'primary': var(--w-color-primary),
@@ -1,4 +1,4 @@
1
- @use '../../../../webcore.config.scss' as *;
1
+ @use 'webcore.config.scss' as *;
2
2
 
3
3
  $overflowValues: auto,
4
4
  hidden,
@@ -1,4 +1,4 @@
1
- @use '../../../../webcore.config.scss' as *;
1
+ @use 'webcore.config.scss' as *;
2
2
 
3
3
  $breakpoints: (
4
4
  'xs': 600px,
@@ -3,7 +3,7 @@
3
3
  @use 'sass:list';
4
4
  @use 'sass:string';
5
5
 
6
- @use '../../../../webcore.config.scss' as *;
6
+ @use 'webcore.config.scss' as *;
7
7
  @use './color-palette.scss' as *;
8
8
  @use './css-values.scss' as *;
9
9
  @use './layout.scss' as *;
@@ -1,4 +1,4 @@
1
- @use '../../../../webcore.config.scss' as *;
1
+ @use 'webcore.config.scss' as *;
2
2
 
3
3
  $fontTypes: (
4
4
  'regular': (Regular, sans-serif),
@@ -1,3 +1,3 @@
1
- @use '../../../../webcore.config.scss' as *;
1
+ @use 'webcore.config.scss' as *;
2
2
 
3
3
  $disableAnimations: false !default;
package/scss/config.scss CHANGED
@@ -1,4 +1,4 @@
1
- @forward '../../../webcore.config.scss';
1
+ @forward 'webcore.config.scss';
2
2
  @forward './config/color-palette';
3
3
  @forward './config/css-values';
4
4
  @forward './config/typography';
package/scss/resets.scss CHANGED
@@ -38,6 +38,10 @@
38
38
  strong,
39
39
  b {
40
40
  font-family: Bold, 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
41
+
42
+ @if ($fontBold) {
43
+ font-weight: normal;
44
+ }
41
45
  }
42
46
 
43
47
  a {
@@ -117,8 +121,13 @@
117
121
  }
118
122
 
119
123
  thead,
120
- tfoot {
124
+ tfoot,
125
+ th {
121
126
  @include typography(bold);
127
+
128
+ @if ($fontBold) {
129
+ font-weight: normal;
130
+ }
122
131
  }
123
132
 
124
133
  th,
@@ -1,4 +1,4 @@
1
- import { classNames } from './classNames'
1
+ import { classNames } from './classNames.ts'
2
2
 
3
3
  export type Gap = 'none'
4
4
  | 'xxs'
package/utils/modal.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { bodyFreeze } from './bodyFreeze'
1
+ import { bodyFreeze } from './bodyFreeze.ts'
2
2
 
3
3
  export type ModalCallback = {
4
4
  trigger: Element | null
package/utils/popover.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { debounce } from './debounce'
2
- import { closeModal } from './modal'
1
+ import { debounce } from './debounce.ts'
2
+ import { closeModal } from './modal.ts'
3
3
 
4
4
  export type PopoverPosition = 'top'
5
5
  | 'top-start'
@@ -0,0 +1,28 @@
1
+ import type { AstroIntegration } from 'astro'
2
+ import path from 'path'
3
+
4
+ export const webcore = (): AstroIntegration => {
5
+ return {
6
+ name: 'webcoreui',
7
+ hooks: {
8
+ 'astro:config:setup': ({ updateConfig }) => {
9
+ updateConfig({
10
+ vite: {
11
+ ssr: {
12
+ noExternal: ['webcoreui']
13
+ },
14
+ css: {
15
+ preprocessorOptions: {
16
+ scss: {
17
+ loadPaths: [
18
+ path.resolve(process.cwd())
19
+ ]
20
+ }
21
+ }
22
+ }
23
+ }
24
+ })
25
+ }
26
+ }
27
+ }
28
+ }