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.
Files changed (157) hide show
  1. package/.changeset/config.json +11 -0
  2. package/.github/workflows/deploy-storybook.yml +14 -10
  3. package/.github/workflows/release.yml +61 -38
  4. package/CHANGELOG.md +51 -20
  5. package/README.md +50 -5
  6. package/dist/{Field-C0LPMoF4.mjs → Field-BHxm4Nr-.mjs} +11 -16
  7. package/dist/Field-BHxm4Nr-.mjs.map +1 -0
  8. package/dist/{Field-Cpsy6gP5.d.mts → Field-B_ZFAADd.d.mts} +2 -2
  9. package/dist/Field-B_ZFAADd.d.mts.map +1 -0
  10. package/dist/components/fields/altcha/index.d.mts +1 -1
  11. package/dist/components/fields/altcha/index.mjs +1 -1
  12. package/dist/components/fields/altcha/index.mjs.map +1 -1
  13. package/dist/components/fields/checkbox/index.d.mts +1 -1
  14. package/dist/components/fields/checkbox/index.mjs +1 -1
  15. package/dist/components/fields/checkbox/index.mjs.map +1 -1
  16. package/dist/components/fields/color/index.d.mts +1 -1
  17. package/dist/components/fields/color/index.mjs +2 -1
  18. package/dist/components/fields/color/index.mjs.map +1 -1
  19. package/dist/components/fields/date/index.d.mts +4 -3
  20. package/dist/components/fields/date/index.d.mts.map +1 -1
  21. package/dist/components/fields/date/index.mjs +18 -9
  22. package/dist/components/fields/date/index.mjs.map +1 -1
  23. package/dist/components/fields/field/index.d.mts +12 -0
  24. package/dist/components/fields/field/index.d.mts.map +1 -0
  25. package/dist/components/fields/field/index.mjs +43 -0
  26. package/dist/components/fields/field/index.mjs.map +1 -0
  27. package/dist/components/fields/file/index.d.mts +7 -3
  28. package/dist/components/fields/file/index.d.mts.map +1 -1
  29. package/dist/components/fields/file/index.mjs +31 -17
  30. package/dist/components/fields/file/index.mjs.map +1 -1
  31. package/dist/components/fields/input-button/index.d.mts +6 -7
  32. package/dist/components/fields/input-button/index.d.mts.map +1 -1
  33. package/dist/components/fields/input-button/index.mjs +108 -127
  34. package/dist/components/fields/input-button/index.mjs.map +1 -1
  35. package/dist/components/fields/radio/index.d.mts +21 -8
  36. package/dist/components/fields/radio/index.d.mts.map +1 -1
  37. package/dist/components/fields/radio/index.mjs +85 -2
  38. package/dist/components/fields/radio/index.mjs.map +1 -1
  39. package/dist/components/fields/range/index.d.mts +14 -1
  40. package/dist/components/fields/range/index.d.mts.map +1 -1
  41. package/dist/components/fields/range/index.mjs +71 -1
  42. package/dist/components/fields/range/index.mjs.map +1 -1
  43. package/dist/components/fields/select/index.d.mts +1 -1
  44. package/dist/components/fields/select/index.mjs +3 -2
  45. package/dist/components/fields/select/index.mjs.map +1 -1
  46. package/dist/components/fields/text/index.d.mts +13 -7
  47. package/dist/components/fields/text/index.d.mts.map +1 -1
  48. package/dist/components/fields/text/index.mjs +2 -2
  49. package/dist/components/fields/textarea/index.d.mts +10 -1
  50. package/dist/components/fields/textarea/index.d.mts.map +1 -1
  51. package/dist/components/fields/textarea/index.mjs +50 -1
  52. package/dist/components/fields/textarea/index.mjs.map +1 -1
  53. package/dist/components/fields/totp/index.d.mts +1 -1
  54. package/dist/components/fields/totp/index.mjs +1 -1
  55. package/dist/components/fields/totp/index.mjs.map +1 -1
  56. package/dist/components/fields/wysiwyg/index.d.mts +30 -6
  57. package/dist/components/fields/wysiwyg/index.d.mts.map +1 -1
  58. package/dist/components/fields/wysiwyg/index.mjs +95 -10
  59. package/dist/components/fields/wysiwyg/index.mjs.map +1 -1
  60. package/dist/components/i18n/index.d.mts +7 -0
  61. package/dist/components/i18n/index.d.mts.map +1 -0
  62. package/dist/components/i18n/index.mjs +2 -0
  63. package/dist/components/notification/index.d.mts +1 -1
  64. package/dist/i18n-B57GZqP3.mjs +11 -0
  65. package/dist/i18n-B57GZqP3.mjs.map +1 -0
  66. package/dist/{index-BPH0ele4.d.mts → index-Dx8EhTxo.d.mts} +3 -2
  67. package/dist/index-Dx8EhTxo.d.mts.map +1 -0
  68. package/dist/lib/index.d.mts +2 -2
  69. package/dist/lib/index.mjs +4 -1
  70. package/dist/lib/index.mjs.map +1 -1
  71. package/dist/{text-C57IYu-q.mjs → text-BdLXdha1.mjs} +35 -5
  72. package/dist/text-BdLXdha1.mjs.map +1 -0
  73. package/package.json +17 -12
  74. package/release.sh +41 -0
  75. package/src/components/fields/altcha/AltchaField.tsx +1 -1
  76. package/src/components/fields/checkbox/CheckboxField.tsx +1 -1
  77. package/src/components/fields/checkbox/CheckboxesField.tsx +1 -1
  78. package/src/components/fields/color/ColorField.tsx +2 -1
  79. package/src/components/fields/date/DateField.tsx +17 -10
  80. package/src/components/fields/field/ColorForwarder.tsx +15 -0
  81. package/src/components/fields/{Field.stories.tsx → field/Field.stories.tsx} +4 -4
  82. package/src/components/fields/{Field.tsx → field/Field.tsx} +9 -5
  83. package/src/components/fields/field/index.ts +2 -0
  84. package/src/components/fields/file/FileField.stories.tsx +4 -12
  85. package/src/components/fields/file/FileField.tsx +2 -15
  86. package/src/components/fields/file/UploaderMock.tsx +1 -1
  87. package/src/components/fields/file/index.ts +2 -1
  88. package/src/components/fields/file/types.ts +34 -0
  89. package/src/components/fields/input-button/InputButton.tsx +37 -30
  90. package/src/components/fields/radio/RadioWithLegendField.tsx +1 -1
  91. package/src/components/fields/radio/RadiosButtonIconField.tsx +1 -1
  92. package/src/components/fields/radio/RadiosField.tsx +2 -2
  93. package/src/components/fields/radio/index.ts +1 -0
  94. package/src/components/fields/range/RangeField.tsx +1 -1
  95. package/src/components/fields/range/index.ts +1 -0
  96. package/src/components/fields/select/SelectField.tsx +2 -1
  97. package/src/components/fields/text/PasswordField.tsx +1 -1
  98. package/src/components/fields/text/SlugField.tsx +1 -1
  99. package/src/components/fields/text/TextField.tsx +2 -2
  100. package/src/components/fields/text/index.ts +1 -0
  101. package/src/components/fields/textarea/TextareaField.tsx +1 -1
  102. package/src/components/fields/textarea/index.ts +1 -0
  103. package/src/components/fields/totp/TotpField.tsx +1 -1
  104. package/src/components/fields/totp/TotpInput.tsx +3 -3
  105. package/src/components/fields/wysiwyg/Wysiwyg.stories.tsx +5 -1
  106. package/src/components/fields/wysiwyg/Wysiwyg.tsx +3 -3
  107. package/src/components/fields/wysiwyg/WysiwygField.tsx +2 -1
  108. package/src/components/fields/wysiwyg/WysiwygReader.stories.tsx +28 -0
  109. package/src/components/fields/wysiwyg/WysiwygReader.tsx +23 -0
  110. package/src/components/fields/wysiwyg/config/html.ts +26 -3
  111. package/src/components/fields/wysiwyg/config/state.ts +6 -0
  112. package/src/components/fields/wysiwyg/index.ts +9 -0
  113. package/src/components/fields/wysiwyg/plugins/FloatingLinkEditorPlugin.tsx +0 -1
  114. package/src/components/fields/wysiwyg/types.ts +25 -2
  115. package/src/components/highlight/Highlight.stories.tsx +1 -1
  116. package/src/components/i18n/TranslationContext.ts +11 -0
  117. package/src/components/i18n/index.ts +1 -0
  118. package/src/lib/arrUtil.ts +4 -0
  119. package/src/tailwind/components/input-outline.css +1 -2
  120. package/src/tailwind/components/range.css +2 -5
  121. package/src/tailwind/theme.css +16 -55
  122. package/tsdown.config.ts +2 -1
  123. package/update-pkg-mode.mjs +86 -0
  124. package/.claude/settings.local.json +0 -21
  125. package/.local/eslint/.prettierrc +0 -11
  126. package/.local/eslint/eslint.config.js +0 -35
  127. package/.local/package copy 2.json +0 -142
  128. package/.local/package copy.json +0 -247
  129. package/.local/tailwind copy/base-prose.css +0 -110
  130. package/.local/tailwind copy/base.css +0 -131
  131. package/.local/tailwind copy/components-input-outline.css +0 -95
  132. package/.local/tailwind copy/components-range.css +0 -33
  133. package/.local/tailwind copy/components-resize-area.css +0 -110
  134. package/.local/tailwind copy/components-step.css +0 -168
  135. package/.local/tailwind copy/components.css +0 -10
  136. package/.local/tailwind copy/components.utilities.css +0 -63
  137. package/.local/tailwind copy/index.css +0 -14
  138. package/.local/tailwind copy/plugin.ts +0 -274
  139. package/.local/tailwind copy/utilities-dialog.css +0 -47
  140. package/.local/tailwind copy/utilities-dialog.utilities.css +0 -35
  141. package/.local/tailwind copy/utilities.css +0 -3
  142. package/.local/tailwind copy/vars.css +0 -121
  143. package/.local/vite-plugin-watch-and-restart.ts +0 -53
  144. package/MIGRATION.md +0 -6
  145. package/dist/Field-C0LPMoF4.mjs.map +0 -1
  146. package/dist/Field-Cpsy6gP5.d.mts.map +0 -1
  147. package/dist/components/fields/index.d.mts +0 -9
  148. package/dist/components/fields/index.d.mts.map +0 -1
  149. package/dist/components/fields/index.mjs +0 -2
  150. package/dist/index-BPH0ele4.d.mts.map +0 -1
  151. package/dist/style.css +0 -1
  152. package/dist/text-C57IYu-q.mjs.map +0 -1
  153. package/src/components/fields/ErrorsFormatterContext.ts +0 -11
  154. package/src/components/fields/index.ts +0 -6
  155. package/src/components/fields/wysiwyg/AUDIT-wysiwyg.md +0 -80
  156. package/src/components/fields/wysiwyg/AUDIT-wysiwygField.md +0 -83
  157. 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
- push:
7
- branches: [gh-pages]
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
- - uses: pnpm/action-setup@v4
25
- # pnpm version is specified in the package.json packageManager section
26
- - uses: actions/setup-node@v4
28
+ - name: Setup Node
29
+ uses: actions/setup-node@v6
27
30
  with:
28
- node-version: 22
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: "pnpm i --frozen-lockfile"
38
+ run: "npm ci"
37
39
 
38
40
  - name: Build storybook
39
- run: pnpm run storybook-build
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
- tags:
8
- - "v*.*.*"
7
+ branches: [main]
9
8
 
10
9
  jobs:
11
- build:
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: read
36
+ contents: write
15
37
  id-token: write
16
38
 
17
39
  steps:
18
- - uses: actions/checkout@v4
19
-
20
- - uses: pnpm/action-setup@v4
21
- # pnpm version is specified in the package.json packageManager section
22
- - uses: actions/setup-node@v4
23
- with:
24
- node-version: 22
25
- cache: pnpm
26
- registry-url: https://registry.npmjs.org
27
-
28
- - name: "Install JS dependencies"
29
- run: "pnpm i --frozen-lockfile"
30
-
31
- - name: Build library
32
- run: pnpm run build
33
-
34
- # - name: Release
35
- # uses: softprops/action-gh-release@v2
36
- # if: github.ref_type == 'tag'
37
- # with:
38
- # token: ${{ secrets.DESIGN_RELEASE_GITHUB_TOKEN }}
39
-
40
- # - name: Creating .npmrc
41
- # run: |
42
- # cat << EOF > "./.npmrc"
43
- # //registry.npmjs.org/:_authToken=$NPM_TOKEN
44
- # EOF
45
- # env:
46
- # NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
47
-
48
- # - name: Publish package
49
- # run: npm i -g npm@^11.5.2 && npm publish --provenance --access public
50
- # env:
51
- # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
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
- - update dependencies
9
+ ### Patch Changes
10
+
11
+ - 650d02f: update dependencies
4
12
  - migrate oxlint / oxfmt
5
13
 
6
14
  ## 1.1.1
7
15
 
8
- fix hydration mismatch with boolean attributes
16
+ ### Patch Changes
17
+
18
+ - 9cc5fbe: fix hydration mismatch with boolean attributes
9
19
 
10
20
  ## 0.1.3
11
21
 
12
- autocomplete add autofocus option
22
+ ### Patch Changes
23
+
24
+ - 275ae50: autocomplete add autofocus option
13
25
 
14
26
  ## 0.1.2
15
27
 
16
- fix file extension for imports and add tsc-alias
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
- fix export .d.ts files
34
+ ### Patch Changes
35
+
36
+ - e9075d5: fix export .d.ts files
21
37
 
22
38
  ## 0.0.13
23
39
 
24
- Pentatrion-design has its own repository !!
40
+ ### Patch Changes
41
+
42
+ - fef7f38: Pentatrion-design has its own repository !!
25
43
 
26
44
  ## 0.0.12
27
- fix notificationsConsumer pointer event none
45
+
46
+ ### Patch Changes
47
+
48
+ - fix notificationsConsumer pointer event none
28
49
 
29
50
  ## 0.0.11
30
51
 
31
- add input/button color
32
- fix notificationsProvider pointer event none
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
- add textarea
37
- modal without size className for more flexibility
38
- tabs without border-radius for more flexibility
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
- modal add ComponentProps to parent
43
- modal fix forwardRef to functional component
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
- Range fix ComponentPropsWithRef import
48
- tsconfig remove extends from base
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
- Range add component
53
- LinkButton add component
54
- fix Toggle cursor pointer
55
- ResizeArea add more Props
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
- pnpm create vite my-app
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
- pnpm add -D tailwindcss @tailwindcss/vite prettier-plugin-tailwindcss
20
+ npm i -D tailwindcss @tailwindcss/vite prettier-plugin-tailwindcss
21
21
 
22
- pnpm add pentatrion-design clsx class-variance-authority
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 "../node_modules/pentatrion-design/dist/components";
56
- @source "../node_modules/pentatrion-design/dist/hooks";
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 { createContext, isValidElement, useContext, useId } from "react";
5
+ import { isValidElement, useId } from "react";
4
6
  import { jsx, jsxs } from "react/jsx-runtime";
5
- //#region src/components/fields/ErrorsFormatterContext.ts
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 formatErrors = useErrorsFormatter();
12
+ const translate = useTranslate();
18
13
  let t2;
19
- if ($[0] !== formatErrors || $[1] !== rawErrors) {
20
- t2 = formatErrors ? formatErrors(rawErrors) : rawErrors;
21
- $[0] = formatErrors;
22
- $[1] = rawErrors;
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 { ErrorsFormatterProvider as n, useErrorsFormatter as r, Field as t };
173
+ export { Field as t };
179
174
 
180
- //# sourceMappingURL=Field-C0LPMoF4.mjs.map
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-Cpsy6gP5.d.mts.map
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,4 +1,4 @@
1
- import { n as FieldProps } from "../../../Field-Cpsy6gP5.mjs";
1
+ import { n as FieldProps } from "../../../Field-B_ZFAADd.mjs";
2
2
  import "altcha/i18n/en";
3
3
  import { FieldName } from "@conform-to/react/future";
4
4
  //#region src/components/fields/altcha/Altcha.d.ts
@@ -1,5 +1,5 @@
1
1
  import { t as useIntersectionObserver } from "../../../hooks-CBijm9RA.mjs";
2
- import { t as Field } from "../../../Field-C0LPMoF4.mjs";
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-Cpsy6gP5.mjs";
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-C0LPMoF4.mjs";
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-Cpsy6gP5.mjs";
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-C0LPMoF4.mjs";
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",