pentatrion-design 1.2.0 → 1.2.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.
- package/.changeset/config.json +11 -0
- package/.github/workflows/deploy-storybook.yml +14 -10
- package/.github/workflows/release.yml +61 -38
- package/CHANGELOG.md +51 -20
- package/README.md +50 -5
- package/dist/{Field-C0LPMoF4.mjs → Field-BHxm4Nr-.mjs} +11 -16
- package/dist/Field-BHxm4Nr-.mjs.map +1 -0
- package/dist/{Field-Cpsy6gP5.d.mts → Field-B_ZFAADd.d.mts} +2 -2
- package/dist/Field-B_ZFAADd.d.mts.map +1 -0
- package/dist/components/fields/altcha/index.d.mts +1 -1
- package/dist/components/fields/altcha/index.mjs +1 -1
- package/dist/components/fields/altcha/index.mjs.map +1 -1
- package/dist/components/fields/checkbox/index.d.mts +1 -1
- package/dist/components/fields/checkbox/index.mjs +1 -1
- package/dist/components/fields/checkbox/index.mjs.map +1 -1
- package/dist/components/fields/color/index.d.mts +1 -1
- package/dist/components/fields/color/index.mjs +2 -1
- package/dist/components/fields/color/index.mjs.map +1 -1
- package/dist/components/fields/date/index.d.mts +4 -3
- package/dist/components/fields/date/index.d.mts.map +1 -1
- package/dist/components/fields/date/index.mjs +18 -9
- package/dist/components/fields/date/index.mjs.map +1 -1
- package/dist/components/fields/field/index.d.mts +12 -0
- package/dist/components/fields/field/index.d.mts.map +1 -0
- package/dist/components/fields/field/index.mjs +43 -0
- package/dist/components/fields/field/index.mjs.map +1 -0
- package/dist/components/fields/file/index.d.mts +7 -3
- package/dist/components/fields/file/index.d.mts.map +1 -1
- package/dist/components/fields/file/index.mjs +31 -17
- package/dist/components/fields/file/index.mjs.map +1 -1
- package/dist/components/fields/input-button/index.d.mts +6 -7
- package/dist/components/fields/input-button/index.d.mts.map +1 -1
- package/dist/components/fields/input-button/index.mjs +108 -127
- package/dist/components/fields/input-button/index.mjs.map +1 -1
- package/dist/components/fields/radio/index.d.mts +21 -8
- package/dist/components/fields/radio/index.d.mts.map +1 -1
- package/dist/components/fields/radio/index.mjs +85 -2
- package/dist/components/fields/radio/index.mjs.map +1 -1
- package/dist/components/fields/range/index.d.mts +14 -1
- package/dist/components/fields/range/index.d.mts.map +1 -1
- package/dist/components/fields/range/index.mjs +71 -1
- package/dist/components/fields/range/index.mjs.map +1 -1
- package/dist/components/fields/select/index.d.mts +1 -1
- package/dist/components/fields/select/index.mjs +3 -2
- package/dist/components/fields/select/index.mjs.map +1 -1
- package/dist/components/fields/text/index.d.mts +13 -7
- package/dist/components/fields/text/index.d.mts.map +1 -1
- package/dist/components/fields/text/index.mjs +2 -2
- package/dist/components/fields/textarea/index.d.mts +10 -1
- package/dist/components/fields/textarea/index.d.mts.map +1 -1
- package/dist/components/fields/textarea/index.mjs +50 -1
- package/dist/components/fields/textarea/index.mjs.map +1 -1
- package/dist/components/fields/totp/index.d.mts +1 -1
- package/dist/components/fields/totp/index.mjs +1 -1
- package/dist/components/fields/totp/index.mjs.map +1 -1
- package/dist/components/fields/wysiwyg/index.d.mts +30 -6
- package/dist/components/fields/wysiwyg/index.d.mts.map +1 -1
- package/dist/components/fields/wysiwyg/index.mjs +95 -10
- package/dist/components/fields/wysiwyg/index.mjs.map +1 -1
- package/dist/components/i18n/index.d.mts +7 -0
- package/dist/components/i18n/index.d.mts.map +1 -0
- package/dist/components/i18n/index.mjs +2 -0
- package/dist/components/notification/index.d.mts +1 -1
- package/dist/i18n-B57GZqP3.mjs +11 -0
- package/dist/i18n-B57GZqP3.mjs.map +1 -0
- package/dist/{index-BPH0ele4.d.mts → index-Dx8EhTxo.d.mts} +3 -2
- package/dist/index-Dx8EhTxo.d.mts.map +1 -0
- package/dist/lib/index.d.mts +2 -2
- package/dist/lib/index.mjs +4 -1
- package/dist/lib/index.mjs.map +1 -1
- package/dist/{text-C57IYu-q.mjs → text-BdLXdha1.mjs} +35 -5
- package/dist/text-BdLXdha1.mjs.map +1 -0
- package/package.json +17 -12
- package/release.sh +41 -0
- package/src/components/fields/altcha/AltchaField.tsx +1 -1
- package/src/components/fields/checkbox/CheckboxField.tsx +1 -1
- package/src/components/fields/checkbox/CheckboxesField.tsx +1 -1
- package/src/components/fields/color/ColorField.tsx +2 -1
- package/src/components/fields/date/DateField.tsx +17 -10
- package/src/components/fields/field/ColorForwarder.tsx +15 -0
- package/src/components/fields/{Field.stories.tsx → field/Field.stories.tsx} +4 -4
- package/src/components/fields/{Field.tsx → field/Field.tsx} +9 -5
- package/src/components/fields/field/index.ts +2 -0
- package/src/components/fields/file/FileField.stories.tsx +4 -12
- package/src/components/fields/file/FileField.tsx +2 -15
- package/src/components/fields/file/UploaderMock.tsx +1 -1
- package/src/components/fields/file/index.ts +2 -1
- package/src/components/fields/file/types.ts +34 -0
- package/src/components/fields/input-button/InputButton.tsx +37 -30
- package/src/components/fields/radio/RadioWithLegendField.tsx +1 -1
- package/src/components/fields/radio/RadiosButtonIconField.tsx +1 -1
- package/src/components/fields/radio/RadiosField.tsx +2 -2
- package/src/components/fields/radio/index.ts +1 -0
- package/src/components/fields/range/RangeField.tsx +1 -1
- package/src/components/fields/range/index.ts +1 -0
- package/src/components/fields/select/SelectField.tsx +2 -1
- package/src/components/fields/text/PasswordField.tsx +1 -1
- package/src/components/fields/text/SlugField.tsx +1 -1
- package/src/components/fields/text/TextField.tsx +2 -2
- package/src/components/fields/text/index.ts +1 -0
- package/src/components/fields/textarea/TextareaField.tsx +1 -1
- package/src/components/fields/textarea/index.ts +1 -0
- package/src/components/fields/totp/TotpField.tsx +1 -1
- package/src/components/fields/totp/TotpInput.tsx +3 -3
- package/src/components/fields/wysiwyg/Wysiwyg.stories.tsx +5 -1
- package/src/components/fields/wysiwyg/Wysiwyg.tsx +3 -3
- package/src/components/fields/wysiwyg/WysiwygField.tsx +2 -1
- package/src/components/fields/wysiwyg/WysiwygReader.stories.tsx +28 -0
- package/src/components/fields/wysiwyg/WysiwygReader.tsx +23 -0
- package/src/components/fields/wysiwyg/config/html.ts +26 -3
- package/src/components/fields/wysiwyg/config/state.ts +6 -0
- package/src/components/fields/wysiwyg/index.ts +9 -0
- package/src/components/fields/wysiwyg/plugins/FloatingLinkEditorPlugin.tsx +0 -1
- package/src/components/fields/wysiwyg/types.ts +25 -2
- package/src/components/highlight/Highlight.stories.tsx +1 -1
- package/src/components/i18n/TranslationContext.ts +11 -0
- package/src/components/i18n/index.ts +1 -0
- package/src/lib/arrUtil.ts +4 -0
- package/src/tailwind/components/input-outline.css +1 -2
- package/src/tailwind/components/range.css +2 -5
- package/src/tailwind/theme.css +16 -55
- package/tsdown.config.ts +2 -1
- package/update-pkg-mode.mjs +86 -0
- package/.claude/settings.local.json +0 -21
- package/.local/eslint/.prettierrc +0 -11
- package/.local/eslint/eslint.config.js +0 -35
- package/.local/package copy 2.json +0 -142
- package/.local/package copy.json +0 -247
- package/.local/tailwind copy/base-prose.css +0 -110
- package/.local/tailwind copy/base.css +0 -131
- package/.local/tailwind copy/components-input-outline.css +0 -95
- package/.local/tailwind copy/components-range.css +0 -33
- package/.local/tailwind copy/components-resize-area.css +0 -110
- package/.local/tailwind copy/components-step.css +0 -168
- package/.local/tailwind copy/components.css +0 -10
- package/.local/tailwind copy/components.utilities.css +0 -63
- package/.local/tailwind copy/index.css +0 -14
- package/.local/tailwind copy/plugin.ts +0 -274
- package/.local/tailwind copy/utilities-dialog.css +0 -47
- package/.local/tailwind copy/utilities-dialog.utilities.css +0 -35
- package/.local/tailwind copy/utilities.css +0 -3
- package/.local/tailwind copy/vars.css +0 -121
- package/.local/vite-plugin-watch-and-restart.ts +0 -53
- package/MIGRATION.md +0 -6
- package/dist/Field-C0LPMoF4.mjs.map +0 -1
- package/dist/Field-Cpsy6gP5.d.mts.map +0 -1
- package/dist/components/fields/index.d.mts +0 -9
- package/dist/components/fields/index.d.mts.map +0 -1
- package/dist/components/fields/index.mjs +0 -2
- package/dist/index-BPH0ele4.d.mts.map +0 -1
- package/dist/style.css +0 -1
- package/dist/text-C57IYu-q.mjs.map +0 -1
- package/src/components/fields/ErrorsFormatterContext.ts +0 -11
- package/src/components/fields/index.ts +0 -6
- package/src/components/fields/wysiwyg/AUDIT-wysiwyg.md +0 -80
- package/src/components/fields/wysiwyg/AUDIT-wysiwygField.md +0 -83
- package/src/components/fields/wysiwyg/plugins/index.css +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://unpkg.com/@changesets/config@3.1.4/schema.json",
|
|
3
|
+
"changelog": "@changesets/cli/changelog",
|
|
4
|
+
"commit": false,
|
|
5
|
+
"fixed": [],
|
|
6
|
+
"linked": [],
|
|
7
|
+
"access": "restricted",
|
|
8
|
+
"baseBranch": "main",
|
|
9
|
+
"updateInternalDependencies": "patch",
|
|
10
|
+
"ignore": []
|
|
11
|
+
}
|
|
@@ -3,8 +3,9 @@ name: Deploy storybook
|
|
|
3
3
|
on:
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
workflow_run:
|
|
7
|
+
workflows: ["Release"]
|
|
8
|
+
types: [completed]
|
|
8
9
|
|
|
9
10
|
permissions:
|
|
10
11
|
pages: write
|
|
@@ -16,27 +17,28 @@ concurrency:
|
|
|
16
17
|
|
|
17
18
|
jobs:
|
|
18
19
|
build:
|
|
20
|
+
if: github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success'
|
|
19
21
|
runs-on: ubuntu-latest
|
|
20
22
|
|
|
21
23
|
steps:
|
|
22
24
|
- uses: actions/checkout@v4
|
|
25
|
+
with:
|
|
26
|
+
ref: ${{ github.event.workflow_run.head_sha || github.sha }}
|
|
23
27
|
|
|
24
|
-
-
|
|
25
|
-
|
|
26
|
-
- uses: actions/setup-node@v4
|
|
28
|
+
- name: Setup Node
|
|
29
|
+
uses: actions/setup-node@v6
|
|
27
30
|
with:
|
|
28
|
-
node-version:
|
|
29
|
-
cache: pnpm
|
|
31
|
+
node-version: 26.5.0
|
|
30
32
|
|
|
31
33
|
- name: Setup Pages
|
|
32
34
|
id: pages
|
|
33
35
|
uses: actions/configure-pages@v5
|
|
34
36
|
|
|
35
37
|
- name: "Install JS dependencies"
|
|
36
|
-
run: "
|
|
38
|
+
run: "npm ci"
|
|
37
39
|
|
|
38
40
|
- name: Build storybook
|
|
39
|
-
run:
|
|
41
|
+
run: npm run storybook-build
|
|
40
42
|
|
|
41
43
|
- name: Upload artifact
|
|
42
44
|
uses: actions/upload-pages-artifact@v3
|
|
@@ -44,11 +46,13 @@ jobs:
|
|
|
44
46
|
path: "storybook-static"
|
|
45
47
|
|
|
46
48
|
deploy:
|
|
49
|
+
needs: build
|
|
50
|
+
# required by actions/deploy-pages: ties this job to the Pages deployment
|
|
51
|
+
# history/protection rules and provides the OIDC context it authenticates with
|
|
47
52
|
environment:
|
|
48
53
|
name: github-pages
|
|
49
54
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
50
55
|
runs-on: ubuntu-latest
|
|
51
|
-
needs: build
|
|
52
56
|
steps:
|
|
53
57
|
- name: Deploy to GitHub pages
|
|
54
58
|
id: deployment
|
|
@@ -4,48 +4,71 @@ on:
|
|
|
4
4
|
workflow_dispatch:
|
|
5
5
|
|
|
6
6
|
push:
|
|
7
|
-
|
|
8
|
-
- "v*.*.*"
|
|
7
|
+
branches: [main]
|
|
9
8
|
|
|
10
9
|
jobs:
|
|
11
|
-
|
|
10
|
+
check:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
outputs:
|
|
13
|
+
changed: ${{ steps.check.outputs.changed }}
|
|
14
|
+
version: ${{ steps.check.outputs.local }}
|
|
15
|
+
|
|
16
|
+
steps:
|
|
17
|
+
- uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Check version change
|
|
20
|
+
id: check
|
|
21
|
+
run: |
|
|
22
|
+
LOCAL_VERSION=$(node -p "require('./package.json').version")
|
|
23
|
+
PUBLISHED_VERSION=$(npm view pentatrion-design version 2>/dev/null || echo "0.0.0")
|
|
24
|
+
echo "local=$LOCAL_VERSION" >> "$GITHUB_OUTPUT"
|
|
25
|
+
if [ "$LOCAL_VERSION" != "$PUBLISHED_VERSION" ]; then
|
|
26
|
+
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
27
|
+
else
|
|
28
|
+
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
29
|
+
fi
|
|
30
|
+
|
|
31
|
+
release:
|
|
32
|
+
needs: check
|
|
33
|
+
if: needs.check.outputs.changed == 'true'
|
|
12
34
|
runs-on: ubuntu-latest
|
|
13
35
|
permissions:
|
|
14
|
-
contents:
|
|
36
|
+
contents: write
|
|
15
37
|
id-token: write
|
|
16
38
|
|
|
17
39
|
steps:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
40
|
+
- uses: actions/checkout@v4
|
|
41
|
+
|
|
42
|
+
- name: Setup Node
|
|
43
|
+
uses: actions/setup-node@v6
|
|
44
|
+
with:
|
|
45
|
+
node-version: 26.5.0
|
|
46
|
+
registry-url: https://registry.npmjs.org
|
|
47
|
+
|
|
48
|
+
- name: "Install JS dependencies"
|
|
49
|
+
run: "npm ci"
|
|
50
|
+
|
|
51
|
+
- name: Typecheck / Eslint
|
|
52
|
+
run: npm run check:type
|
|
53
|
+
|
|
54
|
+
- name: Build library
|
|
55
|
+
run: npm run build
|
|
56
|
+
|
|
57
|
+
- name: Update pkg mode
|
|
58
|
+
run: node update-pkg-mode.mjs dist
|
|
59
|
+
|
|
60
|
+
- name: Publish package
|
|
61
|
+
run: npm i -g npm@^11.5.2 && npm publish --provenance --access public
|
|
62
|
+
env:
|
|
63
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
64
|
+
|
|
65
|
+
- name: Tag release
|
|
66
|
+
run: |
|
|
67
|
+
git tag "v${{ needs.check.outputs.version }}"
|
|
68
|
+
git push origin "v${{ needs.check.outputs.version }}"
|
|
69
|
+
|
|
70
|
+
- name: Create GitHub release
|
|
71
|
+
uses: softprops/action-gh-release@v2
|
|
72
|
+
with:
|
|
73
|
+
tag_name: "v${{ needs.check.outputs.version }}"
|
|
74
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,55 +1,86 @@
|
|
|
1
|
+
## 1.2.1
|
|
2
|
+
|
|
3
|
+
### Patch Changes
|
|
4
|
+
|
|
5
|
+
- 82aed74: reconfigure github workflow
|
|
6
|
+
|
|
1
7
|
## 1.1.2
|
|
2
8
|
|
|
3
|
-
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 650d02f: update dependencies
|
|
4
12
|
- migrate oxlint / oxfmt
|
|
5
13
|
|
|
6
14
|
## 1.1.1
|
|
7
15
|
|
|
8
|
-
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 9cc5fbe: fix hydration mismatch with boolean attributes
|
|
9
19
|
|
|
10
20
|
## 0.1.3
|
|
11
21
|
|
|
12
|
-
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 275ae50: autocomplete add autofocus option
|
|
13
25
|
|
|
14
26
|
## 0.1.2
|
|
15
27
|
|
|
16
|
-
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- bde366d: fix file extension for imports and add tsc-alias
|
|
17
31
|
|
|
18
32
|
## 0.0.14
|
|
19
33
|
|
|
20
|
-
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- e9075d5: fix export .d.ts files
|
|
21
37
|
|
|
22
38
|
## 0.0.13
|
|
23
39
|
|
|
24
|
-
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- fef7f38: Pentatrion-design has its own repository !!
|
|
25
43
|
|
|
26
44
|
## 0.0.12
|
|
27
|
-
|
|
45
|
+
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- fix notificationsConsumer pointer event none
|
|
28
49
|
|
|
29
50
|
## 0.0.11
|
|
30
51
|
|
|
31
|
-
|
|
32
|
-
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- add input/button color
|
|
55
|
+
- fix notificationsProvider pointer event none
|
|
33
56
|
|
|
34
57
|
## 0.0.10
|
|
35
58
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
### Patch Changes
|
|
60
|
+
|
|
61
|
+
- add textarea
|
|
62
|
+
- modal without size className for more flexibility
|
|
63
|
+
- tabs without border-radius for more flexibility
|
|
39
64
|
|
|
40
65
|
## 0.0.9
|
|
41
66
|
|
|
42
|
-
|
|
43
|
-
|
|
67
|
+
### Patch Changes
|
|
68
|
+
|
|
69
|
+
- modal add ComponentProps to parent
|
|
70
|
+
- modal fix forwardRef to functional component
|
|
44
71
|
|
|
45
72
|
## 0.0.8
|
|
46
73
|
|
|
47
|
-
|
|
48
|
-
|
|
74
|
+
### Patch Changes
|
|
75
|
+
|
|
76
|
+
- Range fix ComponentPropsWithRef import
|
|
77
|
+
- tsconfig remove extends from base
|
|
49
78
|
|
|
50
79
|
## 0.0.3
|
|
51
80
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
81
|
+
### Patch Changes
|
|
82
|
+
|
|
83
|
+
- Range add component
|
|
84
|
+
- LinkButton add component
|
|
85
|
+
- fix Toggle cursor pointer
|
|
86
|
+
- ResizeArea add more Props
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Créez un nouveau projet Vite + React v19 + TailwindCSS v4. [Official doc](https://tailwindcss.com/docs/installation/using-vite)
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
-
|
|
12
|
+
npm create vite@latest my-app
|
|
13
13
|
|
|
14
14
|
# 1. React
|
|
15
15
|
# 2. TypeScript + SWC
|
|
@@ -17,9 +17,9 @@ pnpm create vite my-app
|
|
|
17
17
|
cd my-app
|
|
18
18
|
|
|
19
19
|
# dépendances
|
|
20
|
-
|
|
20
|
+
npm i -D tailwindcss @tailwindcss/vite prettier-plugin-tailwindcss
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
npm i pentatrion-design clsx class-variance-authority
|
|
23
23
|
```
|
|
24
24
|
Supprimer les fichiers inutiles
|
|
25
25
|
|
|
@@ -52,8 +52,8 @@ Configuration recommandée
|
|
|
52
52
|
/* src/index.css */
|
|
53
53
|
@import "tailwindcss";
|
|
54
54
|
|
|
55
|
-
@source "
|
|
56
|
-
@source "
|
|
55
|
+
@source "./node_modules/pentatrion-design/dist/components";
|
|
56
|
+
@source "./node_modules/pentatrion-design/dist/hooks";
|
|
57
57
|
|
|
58
58
|
@import "pentatrion-design/tailwind";
|
|
59
59
|
|
|
@@ -77,6 +77,7 @@ si on désire plus de contrôle sur nos imports
|
|
|
77
77
|
@import "tailwindcss";
|
|
78
78
|
|
|
79
79
|
@source "./node_modules/pentatrion-design/dist/components";
|
|
80
|
+
@source "./node_modules/pentatrion-design/dist/hooks";
|
|
80
81
|
|
|
81
82
|
@import "pentatrion-design/tailwind/theme.css";
|
|
82
83
|
@import "pentatrion-design/tailwind/variants.css";
|
|
@@ -143,3 +144,47 @@ fichier `tsconfig.json`.
|
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
```
|
|
147
|
+
|
|
148
|
+
## Développement et release
|
|
149
|
+
|
|
150
|
+
### Développement
|
|
151
|
+
|
|
152
|
+
Pas d'étape de build nécessaire : en mode développement, `package.json` pointe directement vers `src/*.ts` (`update-pkg-mode.mjs` ne bascule vers `dist/*` qu'en CI, juste avant publication).
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npm run storybook # storybook dev, pour visualiser/tester les composants isolément
|
|
156
|
+
npm run ci # lint + types + tests, à lancer avant de proposer une PR
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Changesets
|
|
160
|
+
|
|
161
|
+
Chaque changement notable (nouveau composant, fix, breaking change) doit s'accompagner d'un changeset :
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npx changeset add
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Répondre au questionnaire (package concerné, type de bump `patch`/`minor`/`major`, résumé du changement). Ça crée un fichier dans `.changeset/` qui sera consommé au moment de la release. Un changeset par changement, autant que nécessaire avant de releaser.
|
|
168
|
+
|
|
169
|
+
### Release
|
|
170
|
+
|
|
171
|
+
Quand on est prêt à publier une nouvelle version :
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
npx changeset version # bump package.json + génère/complète CHANGELOG.md, supprime les changesets consommés
|
|
175
|
+
git add -A
|
|
176
|
+
git commit -m "chore: release"
|
|
177
|
+
git push
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Le push sur `main` déclenche `.github/workflows/release.yml`, qui :
|
|
181
|
+
|
|
182
|
+
1. Compare la version de `package.json` à celle publiée sur npm.
|
|
183
|
+
2. Si elle a changé : typecheck, build, publie sur npm (`--provenance --access public`), pousse un tag `vX.Y.Z`, crée la release GitHub correspondante.
|
|
184
|
+
|
|
185
|
+
Aucune autre action manuelle n'est nécessaire — pas de tag ni de release GitHub à créer soi-même.
|
|
186
|
+
|
|
187
|
+
### Storybook
|
|
188
|
+
|
|
189
|
+
Une fois `release.yml` terminé avec succès, `.github/workflows/deploy-storybook.yml` se déclenche automatiquement (`workflow_run`) et republie [design.pentatrion.com](https://design.pentatrion.com) avec la version tout juste publiée.
|
|
190
|
+
|
|
@@ -1,25 +1,20 @@
|
|
|
1
|
+
import { isArrayOfString } from "./lib/index.mjs";
|
|
1
2
|
import { t as Slot } from "./slot-D8EJRq72.mjs";
|
|
3
|
+
import { n as useTranslate } from "./i18n-B57GZqP3.mjs";
|
|
2
4
|
import { c } from "react/compiler-runtime";
|
|
3
|
-
import {
|
|
5
|
+
import { isValidElement, useId } from "react";
|
|
4
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
-
//#region src/components/fields/
|
|
6
|
-
const ErrorsFormatterContext = createContext(void 0);
|
|
7
|
-
const ErrorsFormatterProvider = ErrorsFormatterContext.Provider;
|
|
8
|
-
function useErrorsFormatter() {
|
|
9
|
-
return useContext(ErrorsFormatterContext);
|
|
10
|
-
}
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region src/components/fields/Field.tsx
|
|
7
|
+
//#region src/components/fields/field/Field.tsx
|
|
13
8
|
function Field(t0) {
|
|
14
9
|
const $ = c(46);
|
|
15
10
|
const { label, hint, description, footerDescription, errors: rawErrors, warning, id: providedId, children, preventLayerShift: t1, "data-testid": dataTestId, className } = t0;
|
|
16
11
|
const preventLayerShift = t1 === void 0 ? true : t1;
|
|
17
|
-
const
|
|
12
|
+
const translate = useTranslate();
|
|
18
13
|
let t2;
|
|
19
|
-
if ($[0] !==
|
|
20
|
-
t2 =
|
|
21
|
-
$[0] =
|
|
22
|
-
$[1] =
|
|
14
|
+
if ($[0] !== rawErrors || $[1] !== translate) {
|
|
15
|
+
t2 = isArrayOfString(rawErrors) && translate ? rawErrors.map((k) => translate(k)).join(", ") : rawErrors;
|
|
16
|
+
$[0] = rawErrors;
|
|
17
|
+
$[1] = translate;
|
|
23
18
|
$[2] = t2;
|
|
24
19
|
} else t2 = $[2];
|
|
25
20
|
const errors = t2;
|
|
@@ -175,6 +170,6 @@ function Field(t0) {
|
|
|
175
170
|
return t14;
|
|
176
171
|
}
|
|
177
172
|
//#endregion
|
|
178
|
-
export {
|
|
173
|
+
export { Field as t };
|
|
179
174
|
|
|
180
|
-
//# sourceMappingURL=Field-
|
|
175
|
+
//# sourceMappingURL=Field-BHxm4Nr-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field-BHxm4Nr-.mjs","names":["isValidElement","ReactNode","useId","ThemeColor","isArrayOfString","Slot","useTranslate","FieldProps","label","hint","description","footerDescription","errors","warning","children","id","preventLayerShift","className","Field","t0","$","_c","rawErrors","providedId","t1","dataTestId","undefined","translate","t2","map","k","join","internalId","t3","props","t4","labelElement","t5","hintElement","t6","errorsElement","t7","warningElement","color","showLabel","showFooter","t8","testIdProp","t9","t10","t11","t12","t13","t14"],"sources":["../src/components/fields/field/Field.tsx"],"sourcesContent":["import { isValidElement, ReactNode, useId } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport { isArrayOfString } from \"../../../lib/arrUtil\";\nimport { Slot } from \"../../slot\";\nimport { useTranslate } from \"../../i18n\";\n\nexport interface FieldProps {\n label?: ReactNode;\n hint?: ReactNode;\n description?: ReactNode;\n footerDescription?: ReactNode;\n errors?: ReactNode | boolean;\n warning?: ReactNode | boolean;\n children: ReactNode;\n id?: string;\n preventLayerShift?: boolean;\n \"data-testid\"?: string;\n className?: string;\n}\n\nexport function Field({\n label,\n hint,\n description,\n footerDescription,\n errors: rawErrors,\n warning,\n id: providedId,\n children,\n preventLayerShift = true,\n \"data-testid\": dataTestId,\n className,\n}: FieldProps) {\n const translate = useTranslate();\n const errors =\n isArrayOfString(rawErrors) && translate\n ? rawErrors.map((k) => translate(k)).join(\", \")\n : rawErrors;\n const internalId = useId();\n const id = isValidElement<{ id?: string }>(children)\n ? children?.props.id\n : (providedId ?? internalId);\n\n const labelElement = label && <span>{label}</span>;\n const hintElement = hint && <span className=\"text-body-sm text-gray-6\">{hint}</span>;\n const errorsElement = errors && typeof errors !== \"boolean\" && (\n <span\n className=\"text-red-4 dark:text-red-2 font-medium\"\n aria-live=\"polite\"\n role=\"status\"\n data-testid={dataTestId ? `input-field/alert/${dataTestId}` : undefined}\n >\n <i className=\"fe-circle-exclamation\"></i>\n <span>{errors}</span>\n </span>\n );\n const warningElement = warning && typeof warning !== \"boolean\" && (\n <span className=\"text-orange-4 dark:text-orange-2 font-medium\" aria-live=\"polite\" role=\"status\">\n <i className=\"fe-circle-exclamation\"></i>\n <span data-testid={dataTestId ? `input-field/warning/${dataTestId}` : undefined}>\n {warning}\n </span>\n </span>\n );\n\n const color: ThemeColor = errors ? \"red\" : warning ? \"orange\" : \"yellow\";\n\n const showLabel = preventLayerShift || label || hint;\n const showFooter = preventLayerShift || errorsElement || warningElement;\n\n const testIdProp = dataTestId ? { \"data-testid\": `input-field-${dataTestId}` } : {};\n\n return (\n <div role=\"group\" className={className} {...testIdProp}>\n {showLabel &&\n (label || hint ? (\n <label className=\"mb-1 flex flex-wrap items-center justify-between\" htmlFor={id}>\n {labelElement}\n {hintElement}\n </label>\n ) : (\n <label htmlFor={id} className=\"invisible\"></label>\n ))}\n {description && <div className=\"text-body-sm text-gray-6 mb-2\">{description}</div>}\n <Slot id={id} color={color}>\n {children}\n </Slot>\n {showFooter && (\n <div className=\"text-body-sm text-gray-6 mt-1 min-h-5\">\n {errorsElement || warningElement}\n </div>\n )}\n {footerDescription && (\n <div className=\"text-body-sm text-gray-6 mb-2\">{footerDescription}</div>\n )}\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
|
-
//#region src/components/fields/Field.d.ts
|
|
2
|
+
//#region src/components/fields/field/Field.d.ts
|
|
3
3
|
interface FieldProps {
|
|
4
4
|
label?: ReactNode;
|
|
5
5
|
hint?: ReactNode;
|
|
@@ -16,4 +16,4 @@ interface FieldProps {
|
|
|
16
16
|
declare function Field({ label, hint, description, footerDescription, errors: rawErrors, warning, id: providedId, children, preventLayerShift, "data-testid": dataTestId, className }: FieldProps): import("react").JSX.Element;
|
|
17
17
|
//#endregion
|
|
18
18
|
export { FieldProps as n, Field as t };
|
|
19
|
-
//# sourceMappingURL=Field-
|
|
19
|
+
//# sourceMappingURL=Field-B_ZFAADd.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Field-B_ZFAADd.d.mts","names":[],"sources":["../src/components/fields/field/Field.tsx"],"mappings":";;UAMiB;EACf,QAAQ;EACR,OAAO;EACP,cAAc;EACd,oBAAoB;EACpB,SAAS;EACT,UAAU;EACV,UAAU;EACV;EACA;EACA;EACA;;iBAGc,QACd,OACA,MACA,aACA,mBACA,QAAQ,WACR,SACA,IAAI,YACJ,UACA,kCACe,YACf,aACC,6BAAU,IAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as useIntersectionObserver } from "../../../hooks-CBijm9RA.mjs";
|
|
2
|
-
import { t as Field } from "../../../Field-
|
|
2
|
+
import { t as Field } from "../../../Field-BHxm4Nr-.mjs";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useEffect, useRef } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["altchaI18nFr","ariaLinkLabel","enterCode","enterCodeAria","error","expired","verificationRequired","footer","getAudioChallenge","label","loading","reload","verify","verified","verifying","waitAlert","useEffect","useRef","altchaI18nFr","AltchaProps","onStateChange","ev","Event","CustomEvent","challengeUrl","name","cssVariables","AltchaWidgetCSSProperties","Altcha","widgetRef","HTMLElement","globalThis","altchaI18n","set","handleStateChange","current","addEventListener","removeEventListener","useField","FieldName","Altcha","Field","FieldProps","useIntersectionObserver","Props","Omit","name","challengeUrl","AltchaField","t0","$","_c","rest","field","t1","Symbol","for","freezeOnceVisible","isIntersecting","ref","altchaContainerRef","t2","t3","t4","errors"],"sources":["../../../../src/components/fields/altcha/locales.fr.ts","../../../../src/components/fields/altcha/Altcha.tsx","../../../../src/components/fields/altcha/AltchaField.tsx"],"sourcesContent":["export const altchaI18nFr = {\n ariaLinkLabel: \"Visitez Altcha.org\",\n enterCode: \"Entrez le code\",\n enterCodeAria: \"Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.\",\n error: \"Échec de la vérification. Essayez à nouveau plus tard.\",\n expired: \"La vérification a expiré. Essayez à nouveau.\",\n verificationRequired: \"Vérification requise !\",\n footer:\n 'Protégé par <a href=\"https://altcha.org/\" target=\"_blank\" aria-label=\"Visitez Altcha.org\">ALTCHA</a>',\n getAudioChallenge: \"Obtenir un défi audio\",\n label: \"Je ne suis pas un robot\",\n loading: \"Chargement...\",\n reload: \"Recharger\",\n verify: \"Vérifier\",\n verified: \"Vérifié\",\n verifying: \"Vérification en cours...\",\n waitAlert: \"Vérification en cours... veuillez patienter.\",\n};\n","import { useEffect, useRef } from \"react\";\nimport \"altcha/i18n/en\";\nimport { altchaI18nFr } from \"./locales.fr\";\n\ninterface AltchaProps {\n onStateChange?: (ev: Event | CustomEvent) => void;\n challengeUrl: string;\n name?: string;\n}\n\nconst cssVariables: AltchaWidgetCSSProperties = {\n \"--altcha-border-width\": \"0px\",\n \"--altcha-max-width\": \"100%\",\n};\n\nexport function Altcha({ onStateChange, challengeUrl, name }: AltchaProps) {\n const widgetRef = useRef<HTMLElement>(null!);\n\n useEffect(() => {\n import(\"altcha\");\n globalThis.altchaI18n.set(\"fr-fr\", altchaI18nFr);\n }, []);\n\n useEffect(() => {\n const handleStateChange = (ev: Event | CustomEvent) => {\n if (\"detail\" in ev) {\n onStateChange?.(ev);\n }\n };\n\n const { current } = widgetRef;\n if (current) {\n current.addEventListener(\"statechange\", handleStateChange);\n return () => current.removeEventListener(\"statechange\", handleStateChange);\n }\n }, [onStateChange]);\n\n return (\n <div className=\"h-6\">\n <altcha-widget\n ref={widgetRef}\n style={cssVariables}\n debug\n hidelogo\n hidefooter\n challengeurl={challengeUrl}\n maxnumber={500000}\n name={name}\n ></altcha-widget>\n </div>\n );\n}\n","import { useField, type FieldName } from \"@conform-to/react/future\";\nimport { Altcha } from \"./Altcha\";\nimport { Field, FieldProps } from \"../Field\";\nimport { useIntersectionObserver } from \"../../../hooks\";\n\ninterface Props extends Omit<FieldProps, \"errors\" | \"children\"> {\n name: FieldName<string>;\n challengeUrl: string;\n}\n\nexport function AltchaField({ name, challengeUrl, ...rest }: Props) {\n const field = useField(name);\n const { isIntersecting, ref: altchaContainerRef } = useIntersectionObserver({\n freezeOnceVisible: true,\n });\n\n return (\n <Field errors={field.errors} data-testid={field.name} {...rest}>\n <div ref={altchaContainerRef} className=\"h-6\">\n {isIntersecting && <Altcha name={field.name} challengeUrl={challengeUrl} />}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["altchaI18nFr","ariaLinkLabel","enterCode","enterCodeAria","error","expired","verificationRequired","footer","getAudioChallenge","label","loading","reload","verify","verified","verifying","waitAlert","useEffect","useRef","altchaI18nFr","AltchaProps","onStateChange","ev","Event","CustomEvent","challengeUrl","name","cssVariables","AltchaWidgetCSSProperties","Altcha","widgetRef","HTMLElement","globalThis","altchaI18n","set","handleStateChange","current","addEventListener","removeEventListener","useField","FieldName","Altcha","Field","FieldProps","useIntersectionObserver","Props","Omit","name","challengeUrl","AltchaField","t0","$","_c","rest","field","t1","Symbol","for","freezeOnceVisible","isIntersecting","ref","altchaContainerRef","t2","t3","t4","errors"],"sources":["../../../../src/components/fields/altcha/locales.fr.ts","../../../../src/components/fields/altcha/Altcha.tsx","../../../../src/components/fields/altcha/AltchaField.tsx"],"sourcesContent":["export const altchaI18nFr = {\n ariaLinkLabel: \"Visitez Altcha.org\",\n enterCode: \"Entrez le code\",\n enterCodeAria: \"Entrez le code que vous entendez. Appuyez sur Espace pour écouter l'audio.\",\n error: \"Échec de la vérification. Essayez à nouveau plus tard.\",\n expired: \"La vérification a expiré. Essayez à nouveau.\",\n verificationRequired: \"Vérification requise !\",\n footer:\n 'Protégé par <a href=\"https://altcha.org/\" target=\"_blank\" aria-label=\"Visitez Altcha.org\">ALTCHA</a>',\n getAudioChallenge: \"Obtenir un défi audio\",\n label: \"Je ne suis pas un robot\",\n loading: \"Chargement...\",\n reload: \"Recharger\",\n verify: \"Vérifier\",\n verified: \"Vérifié\",\n verifying: \"Vérification en cours...\",\n waitAlert: \"Vérification en cours... veuillez patienter.\",\n};\n","import { useEffect, useRef } from \"react\";\nimport \"altcha/i18n/en\";\nimport { altchaI18nFr } from \"./locales.fr\";\n\ninterface AltchaProps {\n onStateChange?: (ev: Event | CustomEvent) => void;\n challengeUrl: string;\n name?: string;\n}\n\nconst cssVariables: AltchaWidgetCSSProperties = {\n \"--altcha-border-width\": \"0px\",\n \"--altcha-max-width\": \"100%\",\n};\n\nexport function Altcha({ onStateChange, challengeUrl, name }: AltchaProps) {\n const widgetRef = useRef<HTMLElement>(null!);\n\n useEffect(() => {\n import(\"altcha\");\n globalThis.altchaI18n.set(\"fr-fr\", altchaI18nFr);\n }, []);\n\n useEffect(() => {\n const handleStateChange = (ev: Event | CustomEvent) => {\n if (\"detail\" in ev) {\n onStateChange?.(ev);\n }\n };\n\n const { current } = widgetRef;\n if (current) {\n current.addEventListener(\"statechange\", handleStateChange);\n return () => current.removeEventListener(\"statechange\", handleStateChange);\n }\n }, [onStateChange]);\n\n return (\n <div className=\"h-6\">\n <altcha-widget\n ref={widgetRef}\n style={cssVariables}\n debug\n hidelogo\n hidefooter\n challengeurl={challengeUrl}\n maxnumber={500000}\n name={name}\n ></altcha-widget>\n </div>\n );\n}\n","import { useField, type FieldName } from \"@conform-to/react/future\";\nimport { Altcha } from \"./Altcha\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { useIntersectionObserver } from \"../../../hooks\";\n\ninterface Props extends Omit<FieldProps, \"errors\" | \"children\"> {\n name: FieldName<string>;\n challengeUrl: string;\n}\n\nexport function AltchaField({ name, challengeUrl, ...rest }: Props) {\n const field = useField(name);\n const { isIntersecting, ref: altchaContainerRef } = useIntersectionObserver({\n freezeOnceVisible: true,\n });\n\n return (\n <Field errors={field.errors} data-testid={field.name} {...rest}>\n <div ref={altchaContainerRef} className=\"h-6\">\n {isIntersecting && <Altcha name={field.name} challengeUrl={challengeUrl} />}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { i as ThemeColor } from "../../../types-CbJroQxH.mjs";
|
|
2
2
|
import { n as ButtonProps } from "../../../Button-CVudu6dV.mjs";
|
|
3
3
|
import "../../../index-BG1rgXFb.mjs";
|
|
4
|
-
import { n as FieldProps } from "../../../Field-
|
|
4
|
+
import { n as FieldProps } from "../../../Field-B_ZFAADd.mjs";
|
|
5
5
|
import { r as SelectOption } from "../../../types-yqikbbzR.mjs";
|
|
6
6
|
import { ComponentProps, RefObject } from "react";
|
|
7
7
|
import { FieldName } from "@conform-to/react/future";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as buttonVariants } from "../../../Button-CL7xvvey.mjs";
|
|
2
2
|
import "../../../button-tAEodFUL.mjs";
|
|
3
|
-
import { t as Field } from "../../../Field-
|
|
3
|
+
import { t as Field } from "../../../Field-BHxm4Nr-.mjs";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import clsx from "clsx";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["ComponentProps","RefObject","ThemeColor","clsx","ButtonProps","buttonVariants","CheckboxProps","indeterminate","disabled","color","ref","HTMLInputElement","Checkbox","t0","$","_c","children","className","rest","t1","t2","undefined","t3","Symbol","for","t4","t5","t6","t7","t8","CheckboxButtonProps","Omit","variant","size","width","icon","showInput","CheckboxButton","t9","t10","FieldName","useField","Field","FieldProps","Checkbox","Props","Omit","name","checkboxLabel","CheckboxField","t0","$","_c","rest","field","t1","defaultChecked","t2","errors","FieldName","useField","Field","FieldProps","SelectOption","Checkbox","Props","Omit","name","options","CheckboxesField","t0","$","_c","rest","field","t1","fieldErrors","Object","values","flat","itemErrors","errors","length","undefined","t2","defaultOptions","t3","option","value","includes","label","map","t4"],"sources":["../../../../src/components/fields/checkbox/Checkbox.tsx","../../../../src/components/fields/checkbox/CheckboxField.tsx","../../../../src/components/fields/checkbox/CheckboxesField.tsx"],"sourcesContent":["import { ComponentProps, RefObject } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport clsx from \"clsx\";\nimport { ButtonProps, buttonVariants } from \"../../button\";\n\nexport interface CheckboxProps extends ComponentProps<\"input\"> {\n indeterminate?: boolean;\n disabled?: boolean;\n color?: ThemeColor;\n ref?: RefObject<HTMLInputElement>;\n}\n\nexport function Checkbox({\n color = \"yellow\",\n indeterminate,\n disabled = false,\n className,\n children,\n ref,\n ...rest\n}: CheckboxProps) {\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer items-center\")}>\n <input\n data-color={color}\n ref={ref}\n type=\"checkbox\"\n className={clsx(\n \"p8n-input-checkbox\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-sm bg-origin-border p-0 outline-offset-0 select-none\",\n indeterminate && \"indeterminate\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n\ninterface CheckboxButtonProps extends Omit<ComponentProps<\"input\">, \"size\"> {\n disabled?: boolean;\n color?: ButtonProps[\"color\"];\n variant?: ButtonProps[\"variant\"];\n size?: ButtonProps[\"size\"];\n width?: ButtonProps[\"width\"];\n icon?: boolean;\n showInput?: boolean;\n ref?: RefObject<HTMLInputElement>;\n}\nexport function CheckboxButton({\n color = \"yellow\",\n disabled = false,\n width = \"fit\",\n size,\n icon,\n showInput,\n variant,\n className,\n children,\n ref,\n ...rest\n}: CheckboxButtonProps) {\n return (\n <label\n aria-disabled={disabled}\n className={clsx(\n className,\n showInput && \"pr-2 pl-1\",\n buttonVariants({ variant, size, icon: icon || showInput, width }),\n )}\n data-color={color}\n >\n <input\n ref={ref}\n type=\"checkbox\"\n className={clsx(\n showInput\n ? \"p8n-input-checkbox my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-2xl bg-origin-border p-0 outline-offset-0 select-none\"\n : \"h-0 w-0 -translate-x-[9999px] overflow-hidden\",\n //indeterminate && \"indeterminate\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../Field\";\nimport { Checkbox } from \"./Checkbox\";\n\ninterface Props extends Omit<FieldProps, \"children\"> {\n name: FieldName<boolean>;\n checkboxLabel: string;\n}\n\nexport function CheckboxField({ name, checkboxLabel, ...rest }: Props) {\n const field = useField(name);\n\n return (\n <Field errors={field.errors} data-testid={name} {...rest}>\n <Checkbox name={field.name} defaultChecked={field.defaultChecked}>\n {checkboxLabel}\n </Checkbox>\n </Field>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../Field\";\nimport { SelectOption } from \"../select/types\";\nimport { Checkbox } from \"./Checkbox\";\n\ninterface Props extends Omit<FieldProps, \"children\"> {\n name: FieldName<string[]>;\n options: SelectOption[];\n}\n\nexport function CheckboxesField({ name, options, ...rest }: Props) {\n const field = useField(name);\n const itemErrors = Object.values(field.fieldErrors).flat();\n const errors = field.errors ?? (itemErrors.length > 0 ? itemErrors : undefined);\n\n return (\n <Field errors={errors} data-testid={name} {...rest}>\n <div className=\"sm:grid-cols-repeat-fill-160 grid grid-cols-2 gap-x-2 lg:gap-x-4\">\n {options.map((option) => (\n <Checkbox\n key={option.value}\n name={name}\n value={option.value}\n defaultChecked={field.defaultOptions?.includes(option.value)}\n >\n {option.label}\n </Checkbox>\n ))}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["ComponentProps","RefObject","ThemeColor","clsx","ButtonProps","buttonVariants","CheckboxProps","indeterminate","disabled","color","ref","HTMLInputElement","Checkbox","t0","$","_c","children","className","rest","t1","t2","undefined","t3","Symbol","for","t4","t5","t6","t7","t8","CheckboxButtonProps","Omit","variant","size","width","icon","showInput","CheckboxButton","t9","t10","FieldName","useField","Field","FieldProps","Checkbox","Props","Omit","name","checkboxLabel","CheckboxField","t0","$","_c","rest","field","t1","defaultChecked","t2","errors","FieldName","useField","Field","FieldProps","SelectOption","Checkbox","Props","Omit","name","options","CheckboxesField","t0","$","_c","rest","field","t1","fieldErrors","Object","values","flat","itemErrors","errors","length","undefined","t2","defaultOptions","t3","option","value","includes","label","map","t4"],"sources":["../../../../src/components/fields/checkbox/Checkbox.tsx","../../../../src/components/fields/checkbox/CheckboxField.tsx","../../../../src/components/fields/checkbox/CheckboxesField.tsx"],"sourcesContent":["import { ComponentProps, RefObject } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport clsx from \"clsx\";\nimport { ButtonProps, buttonVariants } from \"../../button\";\n\nexport interface CheckboxProps extends ComponentProps<\"input\"> {\n indeterminate?: boolean;\n disabled?: boolean;\n color?: ThemeColor;\n ref?: RefObject<HTMLInputElement>;\n}\n\nexport function Checkbox({\n color = \"yellow\",\n indeterminate,\n disabled = false,\n className,\n children,\n ref,\n ...rest\n}: CheckboxProps) {\n return (\n <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer items-center\")}>\n <input\n data-color={color}\n ref={ref}\n type=\"checkbox\"\n className={clsx(\n \"p8n-input-checkbox\",\n \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-sm bg-origin-border p-0 outline-offset-0 select-none\",\n indeterminate && \"indeterminate\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n\ninterface CheckboxButtonProps extends Omit<ComponentProps<\"input\">, \"size\"> {\n disabled?: boolean;\n color?: ButtonProps[\"color\"];\n variant?: ButtonProps[\"variant\"];\n size?: ButtonProps[\"size\"];\n width?: ButtonProps[\"width\"];\n icon?: boolean;\n showInput?: boolean;\n ref?: RefObject<HTMLInputElement>;\n}\nexport function CheckboxButton({\n color = \"yellow\",\n disabled = false,\n width = \"fit\",\n size,\n icon,\n showInput,\n variant,\n className,\n children,\n ref,\n ...rest\n}: CheckboxButtonProps) {\n return (\n <label\n aria-disabled={disabled}\n className={clsx(\n className,\n showInput && \"pr-2 pl-1\",\n buttonVariants({ variant, size, icon: icon || showInput, width }),\n )}\n data-color={color}\n >\n <input\n ref={ref}\n type=\"checkbox\"\n className={clsx(\n showInput\n ? \"p8n-input-checkbox my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-2xl bg-origin-border p-0 outline-offset-0 select-none\"\n : \"h-0 w-0 -translate-x-[9999px] overflow-hidden\",\n //indeterminate && \"indeterminate\",\n className,\n )}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {children}\n </label>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { Checkbox } from \"./Checkbox\";\n\ninterface Props extends Omit<FieldProps, \"children\"> {\n name: FieldName<boolean>;\n checkboxLabel: string;\n}\n\nexport function CheckboxField({ name, checkboxLabel, ...rest }: Props) {\n const field = useField(name);\n\n return (\n <Field errors={field.errors} data-testid={name} {...rest}>\n <Checkbox name={field.name} defaultChecked={field.defaultChecked}>\n {checkboxLabel}\n </Checkbox>\n </Field>\n );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { SelectOption } from \"../select/types\";\nimport { Checkbox } from \"./Checkbox\";\n\ninterface Props extends Omit<FieldProps, \"children\"> {\n name: FieldName<string[]>;\n options: SelectOption[];\n}\n\nexport function CheckboxesField({ name, options, ...rest }: Props) {\n const field = useField(name);\n const itemErrors = Object.values(field.fieldErrors).flat();\n const errors = field.errors ?? (itemErrors.length > 0 ? itemErrors : undefined);\n\n return (\n <Field errors={errors} data-testid={name} {...rest}>\n <div className=\"sm:grid-cols-repeat-fill-160 grid grid-cols-2 gap-x-2 lg:gap-x-4\">\n {options.map((option) => (\n <Checkbox\n key={option.value}\n name={name}\n value={option.value}\n defaultChecked={field.defaultOptions?.includes(option.value)}\n >\n {option.label}\n </Checkbox>\n ))}\n </div>\n </Field>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as ThemeColor } from "../../../types-CbJroQxH.mjs";
|
|
2
|
-
import { n as FieldProps } from "../../../Field-
|
|
2
|
+
import { n as FieldProps } from "../../../Field-B_ZFAADd.mjs";
|
|
3
3
|
import { ComponentProps, RefObject } from "react";
|
|
4
4
|
import { FieldName } from "@conform-to/react/future";
|
|
5
5
|
//#region src/components/fields/color/Color.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { g as useRipple } from "../../../hooks-CBijm9RA.mjs";
|
|
2
2
|
import { t as Button } from "../../../Button-CL7xvvey.mjs";
|
|
3
|
-
import { t as Field } from "../../../Field-
|
|
3
|
+
import { t as Field } from "../../../Field-BHxm4Nr-.mjs";
|
|
4
4
|
import { a as ModalContent, n as ModalFooter, o as Modal, r as ModalHeader, t as ModalDescription } from "../../../modal-DY7p5b0n.mjs";
|
|
5
5
|
import { c } from "react/compiler-runtime";
|
|
6
6
|
import { useImperativeHandle, useRef, useState } from "react";
|
|
@@ -152,6 +152,7 @@ function ColorField({ name, ...rest }) {
|
|
|
152
152
|
...rest,
|
|
153
153
|
children: /* @__PURE__ */ jsxs("div", { children: [
|
|
154
154
|
/* @__PURE__ */ jsx("input", {
|
|
155
|
+
hidden: true,
|
|
155
156
|
type: "text",
|
|
156
157
|
name: field.name,
|
|
157
158
|
autoComplete: "off",
|