Skip to content

Commit 4a2dd62

Browse files
latest from main
2 parents f7a3afe + decebf8 commit 4a2dd62

File tree

111 files changed

+5011
-3692
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+5011
-3692
lines changed

.changeset/orange-points-reflect.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik-ui/styled': patch
3+
---
4+
5+
FEAT new styled select component

.changeset/silent-yaks-crash.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
### Select API Changes
66

77
- `<SelectOption />` has been renamed to `<Select.ItemLabel />`.
8-
- `<Select.Value />` has been renamed to `<Select.DisplayText />`.
8+
- `<Select.Value />` has been renamed to `<Select.DisplayValue />`.
99

1010
### `<Select.Item />`
1111

@@ -32,7 +32,7 @@ The previous API did not allow for customization of list items. The new API intr
3232

3333
You can now put anything you'd like in your `<Select.Item />`, just like a normal li tag!
3434

35-
There is a new reactive signal called `bind:displayText` that can be used to read the value of the display text. There is a new docs example that shows this in action with item pills.
35+
There is a new reactive signal called `bind:displayValue` that can be used to read the value of the display text. There is a new docs example that shows this in action with item pills.
3636

3737
#### bind syntax
3838

.changeset/slimy-snakes-poke.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
---
2+
'@qwik-ui/styled': minor
3+
---
4+
5+
## tailwind.config.cjs
6+
7+
Now uses tailwindcss-animate
8+
9+
```ts
10+
plugins: [
11+
require('tailwindcss-animate'),
12+
...
13+
],
14+
```
15+
16+
Instead of manually defined animations through a custom plugin like
17+
18+
```ts
19+
plugins: [
20+
plugin(function ({ addUtilities }) {
21+
addUtilities({
22+
'.appear': {
23+
opacity: 1,
24+
},
25+
'.disappear': {
26+
opacity: 0,
27+
},
28+
});
29+
}),
30+
];
31+
```
32+
33+
## Modal refactor
34+
35+
### Modal.Panel
36+
37+
The Panel now uses tailwindcss-animate and comes built-in with 5 `position` variant props
38+
39+
```tsx
40+
export const panelVariants = cva(
41+
[
42+
'fixed w-full bg-background p-6 text-foreground transition-all backdrop:brightness-50 backdrop:backdrop-blur-sm',
43+
'data-[closing]:duration-300 data-[open]:duration-300 data-[open]:animate-in data-[closing]:animate-out',
44+
'backdrop:data-[closing]:duration-300 backdrop:data-[open]:duration-300 backdrop:data-[open]:animate-in backdrop:data-[closing]:animate-out backdrop:data-[closing]:fade-out backdrop:data-[open]:fade-in',
45+
],
46+
{
47+
variants: {
48+
position: {
49+
center:
50+
'max-w-lg rounded-base shadow-lg data-[state=closed]:fade-out data-[state=open]:fade-in data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=open]:slide-in-from-bottom-2 backdrop:data-[closing]:fade-out backdrop:data-[open]:fade-in',
51+
top: 'inset-x-0 top-0 mt-0 rounded-b-base border-b data-[closing]:slide-out-to-top data-[open]:slide-in-from-top',
52+
bottom:
53+
'inset-x-0 bottom-0 mb-0 rounded-t-base border-t data-[closing]:slide-out-to-bottom data-[open]:slide-in-from-bottom',
54+
left: 'inset-y-0 left-0 ml-0 h-full max-w-sm rounded-r-base border-r data-[closing]:slide-out-to-left data-[open]:slide-in-from-left',
55+
right:
56+
'inset-y-0 right-0 mr-0 h-full max-w-sm rounded-l-base border-l data-[closing]:slide-out-to-right data-[open]:slide-in-from-right',
57+
},
58+
},
59+
defaultVariants: {
60+
position: 'center',
61+
},
62+
},
63+
);
64+
65+
type PanelProps = PropsOf<typeof HeadlessModal.Panel> &
66+
VariantProps<typeof panelVariants>;
67+
68+
const Panel = component$<PanelProps>(({ position, ...props }) => {
69+
return (
70+
<HeadlessModal.Panel {...props} class={cn(panelVariants({ position }), props.class)}>
71+
<Slot />
72+
</HeadlessModal.Panel>
73+
);
74+
});
75+
```
76+
77+
over previous tailwind.config.js home-made plugin
78+
79+
```tsx
80+
'.appear': {
81+
opacity: 1,
82+
},
83+
'.disappear': {
84+
opacity: 0,
85+
},
86+
```
87+
88+
to avoid re-inventing the wheel.
89+
90+
### Modal.Title
91+
92+
Title now holds `text-lg font-semibold` classes.
93+
94+
### Modal.Description
95+
96+
Description now holds `text-muted-foreground` class.

.changeset/ten-actors-explain.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik-ui/styled': patch
3+
---
4+
5+
Styled button now uses `transition-all` for every variant shared class

.changeset/two-glasses-fix.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,42 @@
22
'@qwik-ui/headless': minor
33
---
44

5+
### Accordion
6+
7+
The Accordion has been refactored from the ground up to be more accessible and performant.
8+
9+
The entire Qwik UI library now does not execute code until interaction.
10+
11+
#### Accordion.Root
12+
13+
- The `behavior="multi"` prop has been deprecated with `multiple` on the `<Accordion.Root />` component.
14+
15+
- The default behavior is a single item open at a time.
16+
17+
- `onSelectIndexChange$` has been deprecated and removed in favor of `onChange$`.
18+
19+
- `onFocusIndexChange$` has been deprecated and removed. Let us know if you have a use case for this.
20+
21+
- Reactively control the accordion with the `bind:value` prop.
22+
23+
- Control the initial value with the `value` prop.
24+
25+
- Disable the entire accordion by using the `disabled` prop.
26+
27+
#### Accordion.Item
28+
29+
- Pass distinct values to the `<Accordion.Item />` component with the `value` prop.
30+
31+
- Disable Accordion items by setting the `disabled` prop to true on the `<Accordion.Item />` component.
32+
33+
For more information, please refer to the updated Accordion documentation.
34+
35+
### Collapsible
36+
37+
- The `onOpenChange$` prop has been deprecated. Use the `onChange$` prop instead.
38+
39+
For more information, please refer to the updated Collapsible documentation.
40+
541
### Deprecated Components
642

743
In 0.4, we have deprecated the following headless components:

.github/workflows/test.yml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010

1111
strategy:
1212
matrix:
13-
node_version: [18, 20, 22]
13+
node_version: [20, 22]
1414

1515
steps:
1616
- name: Cancel Previous Runs
@@ -29,3 +29,17 @@ jobs:
2929
with:
3030
github_token: ${{ secrets.GITHUB_TOKEN }}
3131
chromatic_token: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
32+
33+
continuous-release:
34+
runs-on: ubuntu-latest
35+
36+
steps:
37+
- uses: actions/checkout@v3
38+
- name: Setup
39+
uses: ./.github/actions/setup
40+
with:
41+
node_version: 20
42+
- run: pnpm build.headless
43+
- run: pnpx pkg-pr-new publish ./dist/packages/kit-headless
44+
env:
45+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # GITHUB_TOKEN is provided automatically in any repository

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,4 @@ Thumbs.db
7575

7676
# Verdaccio
7777
tmp
78-
.nx/cache
78+

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
node_modules
2+
.nx/cache
23
coverage

.prettierrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,5 @@
55
"printWidth": 90,
66
"plugins": ["prettier-plugin-tailwindcss"],
77
"tailwindConfig": "./apps/website/tailwind.config.cjs",
8-
"tailwindFunctions": ["clsx", "cva", "cn"]
8+
"tailwindFunctions": ["clsx", "cva"]
99
}

apps/component-tests/tailwind.config.cjs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,13 @@ module.exports = {
1010
join(__dirname, '../../packages/kit-styled/src/**/*.{js,ts,jsx,tsx,mdx}'),
1111
],
1212
plugins: [
13-
require('tailwindcss-animate'),
1413
// PLUGIN-START
14+
require('tailwindcss-animate'),
1515
plugin(function ({ addUtilities }) {
1616
addUtilities({
1717
'.press': {
1818
transform: 'var(--transform-press)',
1919
},
20-
'.appear': {
21-
opacity: 1,
22-
},
23-
'.disappear': {
24-
opacity: 0,
25-
},
2620
});
2721
}),
2822
// PLUGIN-END
@@ -112,16 +106,6 @@ module.exports = {
112106
step: 'cubic-bezier(0.6, 0.6, 0, 1)',
113107
jumpy: 'cubic-bezier(0.87, 0, 0.13, 1)',
114108
},
115-
keyframes: {
116-
fadeIn: {
117-
'0%': { opacity: 0 },
118-
'100%': { opacity: 1 },
119-
},
120-
fadeOut: {
121-
'0%': { opacity: 1 },
122-
'100%': { opacity: 0 },
123-
},
124-
},
125109
},
126110
},
127111
};

0 commit comments

Comments
 (0)