pentatrion-design 1.2.0 → 1.2.2
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/ci.yml +36 -0
- package/.github/workflows/deploy-storybook.yml +14 -10
- package/.github/workflows/release.yml +61 -38
- package/CHANGELOG.md +57 -20
- package/README.md +50 -5
- package/dist/Button-CVudu6dV.d.mts.map +1 -1
- package/dist/{Button-CL7xvvey.mjs → Button-Cx5QDjg9.mjs} +2 -2
- package/dist/{Button-CL7xvvey.mjs.map → Button-Cx5QDjg9.mjs.map} +1 -1
- 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/Input-B9HNBGpq.mjs.map +1 -1
- package/dist/Scroll-BSL6d8Ob.mjs.map +1 -1
- package/dist/{Snack-B1Fa9Ofb.mjs → Snack-0wCsjAOm.mjs} +7 -9
- package/dist/Snack-0wCsjAOm.mjs.map +1 -0
- package/dist/TooltipTrigger-VrJxlxNx.mjs.map +1 -1
- package/dist/badge-CtcHuvQK.mjs.map +1 -1
- package/dist/{button-tAEodFUL.mjs → button-CuqQ_n9M.mjs} +3 -3
- package/dist/{button-tAEodFUL.mjs.map → button-CuqQ_n9M.mjs.map} +1 -1
- package/dist/components/accordion/index.d.mts.map +1 -1
- package/dist/components/accordion/index.mjs +3 -5
- package/dist/components/accordion/index.mjs.map +1 -1
- package/dist/components/autocomplete/index.d.mts.map +1 -1
- package/dist/components/autocomplete/index.mjs +17 -22
- package/dist/components/autocomplete/index.mjs.map +1 -1
- package/dist/components/button/index.mjs +2 -2
- package/dist/components/context-menu/index.d.mts.map +1 -1
- package/dist/components/context-menu/index.mjs +3 -7
- package/dist/components/context-menu/index.mjs.map +1 -1
- package/dist/components/dialog/index.d.mts.map +1 -1
- package/dist/components/dropdown-menu-nested/index.mjs +1 -1
- package/dist/components/dropdown-menu-nested/index.mjs.map +1 -1
- package/dist/components/fields/checkbox/index.d.mts +1 -1
- package/dist/components/fields/checkbox/index.mjs +3 -3
- 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 +5 -4
- 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 +33 -19
- 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 +87 -4
- 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 +5 -4
- package/dist/components/fields/select/index.mjs.map +1 -1
- package/dist/components/fields/stars/index.mjs +3 -3
- package/dist/components/fields/stars/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/toggle/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 +39 -6
- package/dist/components/fields/wysiwyg/index.d.mts.map +1 -1
- package/dist/components/fields/wysiwyg/index.mjs +136 -19
- package/dist/components/fields/wysiwyg/index.mjs.map +1 -1
- package/dist/components/highlight/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/modal/index.mjs +1 -1
- package/dist/components/notification/index.d.mts +1 -1
- package/dist/components/notification/index.d.mts.map +1 -1
- package/dist/components/notification/index.mjs +1 -1
- package/dist/components/notification/index.mjs.map +1 -1
- package/dist/components/popover/index.mjs +2 -2
- package/dist/components/popover/index.mjs.map +1 -1
- package/dist/components/resizable/index.mjs.map +1 -1
- package/dist/components/resize-area/index.mjs.map +1 -1
- package/dist/components/select-legacy/index.mjs +3 -5
- package/dist/components/select-legacy/index.mjs.map +1 -1
- package/dist/components/snack/index.d.mts.map +1 -1
- package/dist/components/snack/index.mjs +1 -1
- package/dist/components/steps/index.mjs.map +1 -1
- package/dist/components/table/index.mjs.map +1 -1
- package/dist/components/tabs/index.mjs.map +1 -1
- package/dist/components/toast/index.mjs +1 -1
- package/dist/components/toast/index.mjs.map +1 -1
- package/dist/components/tooltip/index.mjs.map +1 -1
- package/dist/dropdown-menu-Bk0Asqb4.mjs.map +1 -1
- package/dist/hooks/index.d.mts +1 -4
- package/dist/hooks/index.d.mts.map +1 -1
- package/dist/hooks/index.mjs +2 -2
- package/dist/{hooks-CBijm9RA.mjs → hooks-BQw3Dsve.mjs} +3 -12
- package/dist/hooks-BQw3Dsve.mjs.map +1 -0
- package/dist/i18n-B57GZqP3.mjs +11 -0
- package/dist/i18n-B57GZqP3.mjs.map +1 -0
- package/dist/index-BG1rgXFb.d.mts.map +1 -1
- package/dist/index-C03MgO8e.d.mts.map +1 -1
- 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/loader-csj5qb99.mjs.map +1 -1
- package/dist/media-preview-DzVLd1Yz.mjs.map +1 -1
- package/dist/{modal-DY7p5b0n.mjs → modal-BndYAj4O.mjs} +2 -2
- package/dist/{modal-DY7p5b0n.mjs.map → modal-BndYAj4O.mjs.map} +1 -1
- package/dist/slot-D8EJRq72.mjs.map +1 -1
- package/dist/{text-C57IYu-q.mjs → text-INwc4EdW.mjs} +37 -7
- package/dist/text-INwc4EdW.mjs.map +1 -0
- package/package.json +26 -31
- package/release.sh +41 -0
- package/src/components/accordion/Accordion.tsx +2 -5
- package/src/components/autocomplete/Autocomplete.tsx +8 -12
- package/src/components/autocomplete/LazyAutocomplete.tsx +5 -8
- package/src/components/autocomplete/SimpleAutocomplete.tsx +2 -4
- package/src/components/context-menu/ContextMenu.tsx +3 -2
- 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 +18 -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/components/resizable/util.ts +1 -0
- package/src/components/select-legacy/Select.tsx +2 -5
- package/src/components/snack/Snack.tsx +2 -5
- package/src/hooks/index.ts +0 -1
- 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 -2
- package/update-pkg-mode.mjs +86 -0
- package/vitest.config.ts +1 -1
- 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/Snack-B1Fa9Ofb.mjs.map +0 -1
- package/dist/components/fields/altcha/index.d.mts +0 -20
- package/dist/components/fields/altcha/index.d.mts.map +0 -1
- package/dist/components/fields/altcha/index.mjs +0 -128
- package/dist/components/fields/altcha/index.mjs.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/hooks-CBijm9RA.mjs.map +0 -1
- 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/altcha/Altcha.stories.tsx +0 -24
- package/src/components/fields/altcha/Altcha.tsx +0 -52
- package/src/components/fields/altcha/AltchaField.stories.tsx +0 -76
- package/src/components/fields/altcha/AltchaField.tsx +0 -24
- package/src/components/fields/altcha/env.d.ts +0 -21
- package/src/components/fields/altcha/index.ts +0 -2
- package/src/components/fields/altcha/locales.fr.ts +0 -18
- 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
- package/src/hooks/useEffectEvent.ts +0 -11
- package/src/hooks/useRipple.test.tsx +0 -52
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
check:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
|
|
18
|
+
- name: Setup Node
|
|
19
|
+
uses: actions/setup-node@v6
|
|
20
|
+
with:
|
|
21
|
+
node-version: 26.5.0
|
|
22
|
+
|
|
23
|
+
- name: "Install JS dependencies"
|
|
24
|
+
run: "npm ci"
|
|
25
|
+
|
|
26
|
+
- name: Format
|
|
27
|
+
run: npm run check:format
|
|
28
|
+
|
|
29
|
+
- name: Typecheck
|
|
30
|
+
run: npm run check:type
|
|
31
|
+
|
|
32
|
+
- name: Lint
|
|
33
|
+
run: npm run check:lint
|
|
34
|
+
|
|
35
|
+
- name: Test
|
|
36
|
+
run: npm run test-run
|
|
@@ -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,92 @@
|
|
|
1
|
+
## 1.2.2
|
|
2
|
+
|
|
3
|
+
### Patch Changes
|
|
4
|
+
|
|
5
|
+
- 7f9d59b: update dependencies, fix oxlint errors
|
|
6
|
+
|
|
7
|
+
## 1.2.1
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- 82aed74: reconfigure github workflow
|
|
12
|
+
|
|
1
13
|
## 1.1.2
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 650d02f: update dependencies
|
|
4
18
|
- migrate oxlint / oxfmt
|
|
5
19
|
|
|
6
20
|
## 1.1.1
|
|
7
21
|
|
|
8
|
-
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- 9cc5fbe: fix hydration mismatch with boolean attributes
|
|
9
25
|
|
|
10
26
|
## 0.1.3
|
|
11
27
|
|
|
12
|
-
|
|
28
|
+
### Patch Changes
|
|
29
|
+
|
|
30
|
+
- 275ae50: autocomplete add autofocus option
|
|
13
31
|
|
|
14
32
|
## 0.1.2
|
|
15
33
|
|
|
16
|
-
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- bde366d: fix file extension for imports and add tsc-alias
|
|
17
37
|
|
|
18
38
|
## 0.0.14
|
|
19
39
|
|
|
20
|
-
|
|
40
|
+
### Patch Changes
|
|
41
|
+
|
|
42
|
+
- e9075d5: fix export .d.ts files
|
|
21
43
|
|
|
22
44
|
## 0.0.13
|
|
23
45
|
|
|
24
|
-
|
|
46
|
+
### Patch Changes
|
|
47
|
+
|
|
48
|
+
- fef7f38: Pentatrion-design has its own repository !!
|
|
25
49
|
|
|
26
50
|
## 0.0.12
|
|
27
|
-
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- fix notificationsConsumer pointer event none
|
|
28
55
|
|
|
29
56
|
## 0.0.11
|
|
30
57
|
|
|
31
|
-
|
|
32
|
-
|
|
58
|
+
### Patch Changes
|
|
59
|
+
|
|
60
|
+
- add input/button color
|
|
61
|
+
- fix notificationsProvider pointer event none
|
|
33
62
|
|
|
34
63
|
## 0.0.10
|
|
35
64
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
65
|
+
### Patch Changes
|
|
66
|
+
|
|
67
|
+
- add textarea
|
|
68
|
+
- modal without size className for more flexibility
|
|
69
|
+
- tabs without border-radius for more flexibility
|
|
39
70
|
|
|
40
71
|
## 0.0.9
|
|
41
72
|
|
|
42
|
-
|
|
43
|
-
|
|
73
|
+
### Patch Changes
|
|
74
|
+
|
|
75
|
+
- modal add ComponentProps to parent
|
|
76
|
+
- modal fix forwardRef to functional component
|
|
44
77
|
|
|
45
78
|
## 0.0.8
|
|
46
79
|
|
|
47
|
-
|
|
48
|
-
|
|
80
|
+
### Patch Changes
|
|
81
|
+
|
|
82
|
+
- Range fix ComponentPropsWithRef import
|
|
83
|
+
- tsconfig remove extends from base
|
|
49
84
|
|
|
50
85
|
## 0.0.3
|
|
51
86
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
87
|
+
### Patch Changes
|
|
88
|
+
|
|
89
|
+
- Range add component
|
|
90
|
+
- LinkButton add component
|
|
91
|
+
- fix Toggle cursor pointer
|
|
92
|
+
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button-CVudu6dV.d.mts","names":[],"sources":["../src/components/button/Button.tsx"],"mappings":";;;UAmBiB,oBAAoB,KAAK;EACxC;EAEA;EAEA;EAEA,QAAQ;EAER;EAEA;EAEA;EAEA;;;;EAIA;EAEA;EAEA;EAEA,MAAM,UAAU;;cAGL,iBAAc
|
|
1
|
+
{"version":3,"file":"Button-CVudu6dV.d.mts","names":[],"sources":["../src/components/button/Button.tsx"],"mappings":";;;UAmBiB,oBAAoB,KAAK;EACxC;EAEA;EAEA;EAEA,QAAQ;EAER;EAEA;EAEA;EAEA;;;;EAIA;EAEA;EAEA;EAEA,MAAM,UAAU;;cAGL,iBAAc;;;;;;6CAqD1B;iBAEe,SACd,YACA,SACA,SACA,OACA,MACA,WACA,WACA,UACA,UACA,UACA,MACA,SACA,OACA,QACG,SACF,8BAAW,IAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as useRipple } from "./hooks-CBijm9RA.mjs";
|
|
2
1
|
import { t as Loader } from "./loader-csj5qb99.mjs";
|
|
2
|
+
import { h as useRipple } from "./hooks-BQw3Dsve.mjs";
|
|
3
3
|
import { t as Slot } from "./slot-D8EJRq72.mjs";
|
|
4
4
|
import { c } from "react/compiler-runtime";
|
|
5
5
|
import { useImperativeHandle, useRef } from "react";
|
|
@@ -208,4 +208,4 @@ function Button(t0) {
|
|
|
208
208
|
//#endregion
|
|
209
209
|
export { buttonVariants as n, Button as t };
|
|
210
210
|
|
|
211
|
-
//# sourceMappingURL=Button-
|
|
211
|
+
//# sourceMappingURL=Button-Cx5QDjg9.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button-CL7xvvey.mjs","names":["ComponentProps","RefObject","useImperativeHandle","useRef","clsx","Loader","useRipple","Slot","cva","ThemeColor","loaderColor","color","ButtonProps","Omit","withRipple","variant","size","width","loading","disabled","focusable","selected","icon","asChild","ref","HTMLButtonElement","buttonVariants","variants","clickable","true","false","small","medium","large","input","custom","scalable","fit","full","contained","light","outlined","text","ghost","defaultVariants","Button","t0","$","_c","children","className","props","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","undefined","inputRef","t12","Symbol","for","current","rippleEnabled","includes","Comp","t13","t14","t15","t16","t17"],"sources":["../src/components/button/Button.tsx"],"sourcesContent":["import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Loader } from \"../loader\";\nimport { useRipple } from \"../../hooks\";\nimport { Slot } from \"../slot\";\nimport { cva } from \"class-variance-authority\";\nimport { ThemeColor } from \"../../types\";\n\nfunction loaderColor(color: ThemeColor): ThemeColor {\n switch (color) {\n case \"yellow-alpha\":\n return \"yellow\";\n case \"gray-alpha\":\n return \"gray\";\n default:\n return color;\n }\n}\n\nexport interface ButtonProps extends Omit<ComponentProps<\"button\">, \"color\"> {\n withRipple?: boolean;\n\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\" | \"scalable\";\n\n color?: ThemeColor;\n\n width?: \"fit\" | \"full\" | \"custom\";\n\n loading?: boolean;\n\n disabled?: boolean;\n\n focusable?: boolean;\n /**\n * For a selected item inside a group.\n */\n selected?: boolean;\n\n icon?: boolean;\n\n asChild?: boolean;\n\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport const buttonVariants = cva(\n \"relative box-border inline-flex items-center leading-5 no-underline focus-visible-has:outline-2\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer active:translate-y-px focus-visible-has:z-10\",\n false: \"pointer-events-none\",\n },\n size: {\n small: \"[--h-button:1.5rem] h-(--h-button) truncate\",\n medium: \"[--h-button:2rem] h-(--h-button) truncate\",\n large: \"[--h-button:3rem] h-(--h-button) truncate\",\n input: \"[--h-button:calc(var(--h-input)-2px)] h-(--h-button) truncate\",\n custom: \"truncate\",\n scalable: \"\",\n },\n icon: {\n true: \"rounded-[calc(var(--h-button)/2)] min-w-(--h-button) [&_i,&_img,&_svg]:w-(--h-button) justify-center [&_:last-child:not(i,img,svg,strong)]:pr-4\",\n false: \"rounded-2xl px-4\",\n custom: \"\",\n },\n width: {\n fit: \"w-full max-w-fit\",\n full: \"w-full justify-center\",\n custom: \"\",\n },\n variant: {\n /**\n * src/tailwind/plugin.ts\n * addVariant(\"current\", [\n * `&[aria-checked=\"true\"]`,\n * `&[aria-current=\"page\"]`,\n * `&:has(:checked)`\n * ])\n */\n contained:\n \"shadow-sm hover:shadow-md active:shadow-md-active outline-offset-0 text-custom-text bg-custom-3 hover:bg-custom-4 current:bg-custom-4 focus-visible-has:outline-custom-5\",\n light:\n \"shadow-sm hover:shadow-md has-checked:shadow-md focus:shadow-md active:shadow-md-active outline-offset-0 bg-custom-1 text-gray-text hover:text-custom-text hover:bg-custom-3 current:bg-custom-3 focus-visible-has:outline-custom-4\",\n outlined:\n \"bg-custom-0 hover:shadow-xs active:shadow-xs-active text-gray-7 outline-offset-0 border-1 hover:bg-custom-1 border-custom-border focus-visible-has:outline-custom-5 current:bg-custom-3 focus-visible-has:border-transparent\",\n text: \"bg-transparent hover:shadow-xs active:shadow-xs-active outline-offset-0 hover:bg-custom-1 dark:hover:bg-custom-1/50 text-gray-7 hover:text-gray-8 current:bg-custom-3 focus-visible-has:outline-custom-5\",\n ghost: \"outline-offset-0 current:bg-custom-1 focus-visible-has:outline-custom-5\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n icon: false,\n variant: \"contained\",\n clickable: true,\n width: \"fit\",\n },\n },\n);\n\nexport function Button({\n withRipple = true,\n variant = \"contained\",\n loading = false,\n color = \"yellow\",\n size = \"medium\",\n focusable = true,\n className,\n disabled = false,\n children,\n selected = false,\n icon = false,\n asChild = false,\n width = \"fit\",\n ref,\n ...props\n}: ButtonProps) {\n const inputRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => inputRef.current,\n );\n\n const rippleEnabled = !loading && !disabled && withRipple;\n\n useRipple(\n inputRef,\n [\"text\", \"outlined\", \"ghost\"].includes(variant) ? true : false,\n rippleEnabled,\n );\n\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n tabIndex={focusable ? 0 : -1}\n role=\"button\"\n ref={inputRef}\n className={clsx(\n buttonVariants({\n variant,\n size,\n width,\n icon: width === \"custom\" && !icon ? \"custom\" : icon,\n }),\n className,\n loading && !icon && \"text-transparent\",\n )}\n data-color={color}\n data-variant={variant}\n aria-checked={selected}\n suppressHydrationWarning\n aria-busy={loading}\n {...(disabled ? { disabled } : {})}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {/* {!notClickable && withRipple && ripples} */}\n {children}\n {loading && (\n <Loader\n color={loaderColor(color)}\n className={clsx(\"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\")}\n position=\"absolute\"\n />\n )}\n </>\n )}\n </Comp>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button-Cx5QDjg9.mjs","names":["ComponentProps","RefObject","useImperativeHandle","useRef","clsx","Loader","useRipple","Slot","cva","ThemeColor","loaderColor","color","ButtonProps","Omit","withRipple","variant","size","width","loading","disabled","focusable","selected","icon","asChild","ref","HTMLButtonElement","buttonVariants","variants","clickable","true","false","small","medium","large","input","custom","scalable","fit","full","contained","light","outlined","text","ghost","defaultVariants","Button","t0","$","_c","children","className","props","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","undefined","inputRef","t12","Symbol","for","current","rippleEnabled","includes","Comp","t13","t14","t15","t16","t17"],"sources":["../src/components/button/Button.tsx"],"sourcesContent":["import { ComponentProps, RefObject, useImperativeHandle, useRef } from \"react\";\nimport clsx from \"clsx\";\nimport { Loader } from \"../loader\";\nimport { useRipple } from \"../../hooks\";\nimport { Slot } from \"../slot\";\nimport { cva } from \"class-variance-authority\";\nimport { ThemeColor } from \"../../types\";\n\nfunction loaderColor(color: ThemeColor): ThemeColor {\n switch (color) {\n case \"yellow-alpha\":\n return \"yellow\";\n case \"gray-alpha\":\n return \"gray\";\n default:\n return color;\n }\n}\n\nexport interface ButtonProps extends Omit<ComponentProps<\"button\">, \"color\"> {\n withRipple?: boolean;\n\n variant?: \"contained\" | \"light\" | \"outlined\" | \"text\" | \"ghost\";\n\n size?: \"small\" | \"medium\" | \"large\" | \"custom\" | \"input\" | \"scalable\";\n\n color?: ThemeColor;\n\n width?: \"fit\" | \"full\" | \"custom\";\n\n loading?: boolean;\n\n disabled?: boolean;\n\n focusable?: boolean;\n /**\n * For a selected item inside a group.\n */\n selected?: boolean;\n\n icon?: boolean;\n\n asChild?: boolean;\n\n ref?: RefObject<HTMLButtonElement>;\n}\n\nexport const buttonVariants = cva(\n \"relative box-border inline-flex items-center leading-5 no-underline focus-visible-has:outline-2\",\n {\n variants: {\n clickable: {\n true: \"cursor-pointer active:translate-y-px focus-visible-has:z-10\",\n false: \"pointer-events-none\",\n },\n size: {\n small: \"[--h-button:1.5rem] h-(--h-button) truncate\",\n medium: \"[--h-button:2rem] h-(--h-button) truncate\",\n large: \"[--h-button:3rem] h-(--h-button) truncate\",\n input: \"[--h-button:calc(var(--h-input)-2px)] h-(--h-button) truncate\",\n custom: \"truncate\",\n scalable: \"\",\n },\n icon: {\n true: \"rounded-[calc(var(--h-button)/2)] min-w-(--h-button) [&_i,&_img,&_svg]:w-(--h-button) justify-center [&_:last-child:not(i,img,svg,strong)]:pr-4\",\n false: \"rounded-2xl px-4\",\n custom: \"\",\n },\n width: {\n fit: \"w-full max-w-fit\",\n full: \"w-full justify-center\",\n custom: \"\",\n },\n variant: {\n /**\n * src/tailwind/plugin.ts\n * addVariant(\"current\", [\n * `&[aria-checked=\"true\"]`,\n * `&[aria-current=\"page\"]`,\n * `&:has(:checked)`\n * ])\n */\n contained:\n \"shadow-sm hover:shadow-md active:shadow-md-active outline-offset-0 text-custom-text bg-custom-3 hover:bg-custom-4 current:bg-custom-4 focus-visible-has:outline-custom-5\",\n light:\n \"shadow-sm hover:shadow-md has-checked:shadow-md focus:shadow-md active:shadow-md-active outline-offset-0 bg-custom-1 text-gray-text hover:text-custom-text hover:bg-custom-3 current:bg-custom-3 focus-visible-has:outline-custom-4\",\n outlined:\n \"bg-custom-0 hover:shadow-xs active:shadow-xs-active text-gray-7 outline-offset-0 border-1 hover:bg-custom-1 border-custom-border focus-visible-has:outline-custom-5 current:bg-custom-3 focus-visible-has:border-transparent\",\n text: \"bg-transparent hover:shadow-xs active:shadow-xs-active outline-offset-0 hover:bg-custom-1 dark:hover:bg-custom-1/50 text-gray-7 hover:text-gray-8 current:bg-custom-3 focus-visible-has:outline-custom-5\",\n ghost: \"outline-offset-0 current:bg-custom-1 focus-visible-has:outline-custom-5\",\n },\n },\n defaultVariants: {\n size: \"medium\",\n icon: false,\n variant: \"contained\",\n clickable: true,\n width: \"fit\",\n },\n },\n);\n\nexport function Button({\n withRipple = true,\n variant = \"contained\",\n loading = false,\n color = \"yellow\",\n size = \"medium\",\n focusable = true,\n className,\n disabled = false,\n children,\n selected = false,\n icon = false,\n asChild = false,\n width = \"fit\",\n ref,\n ...props\n}: ButtonProps) {\n const inputRef = useRef<HTMLButtonElement>(null!);\n\n useImperativeHandle<HTMLButtonElement | null, HTMLButtonElement | null>(\n ref,\n () => inputRef.current,\n );\n\n const rippleEnabled = !loading && !disabled && withRipple;\n\n useRipple(\n inputRef,\n [\"text\", \"outlined\", \"ghost\"].includes(variant) ? true : false,\n rippleEnabled,\n );\n\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n tabIndex={focusable ? 0 : -1}\n role=\"button\"\n ref={inputRef}\n className={clsx(\n buttonVariants({\n variant,\n size,\n width,\n icon: width === \"custom\" && !icon ? \"custom\" : icon,\n }),\n className,\n loading && !icon && \"text-transparent\",\n )}\n data-color={color}\n data-variant={variant}\n aria-checked={selected}\n suppressHydrationWarning\n aria-busy={loading}\n {...(disabled ? { disabled } : {})}\n {...props}\n >\n {asChild ? (\n children\n ) : (\n <>\n {/* {!notClickable && withRipple && ripples} */}\n {children}\n {loading && (\n <Loader\n color={loaderColor(color)}\n className={clsx(\"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2\")}\n position=\"absolute\"\n />\n )}\n </>\n )}\n </Comp>\n );\n}\n"],"mappings":"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"}
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input-B9HNBGpq.mjs","names":["ComponentPropsWithRef","ReactNode","clsx","ThemeColor","InputProps","Omit","variant","disabled","prefix","suffix","color","size","flexibleWidth","children","inputClassName","sizeVariant","small","medium","large","custom","inputConfig","container","input","icon","Input","t0","$","_c","className","readOnly","ref","rest","t1","t2","t3","t4","t5","type","undefined","t6","t7","t8","t9","t10","t11","t12","t13","e","target","HTMLInputElement","select","t14","t15","t16","t17"],"sources":["../src/components/fields/text/Input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport type { ThemeColor } from \"../../../types\";\n\nexport interface InputProps extends Omit<ComponentPropsWithRef<\"input\">, \"prefix\" | \"size\"> {\n variant?: \"normal\" | \"ghost\";\n disabled?: boolean;\n prefix?: ReactNode;\n suffix?: ReactNode;\n color?: ThemeColor;\n size?: \"small\" | \"medium\" | \"large\" | \"custom\";\n flexibleWidth?: boolean;\n children?: ReactNode;\n inputClassName?: string;\n}\n\nexport const sizeVariant = {\n small: \"[--h-input:24px] h-(--h-input)\",\n medium: \"[--h-input:32px] h-(--h-input)\",\n large: \"[--h-input:48px] h-(--h-input)\",\n custom: \"\",\n};\n\nexport const inputConfig = {\n container: \"p8n-input-text rounded-full flex box-border\",\n input: \"h-full flex-1 appearance-none outline-hidden filter-none min-w-0 bg-transparent\",\n icon: \"[--h-icon:calc(var(--h-input)-2px)] h-(--h-icon) w-(--h-icon) inline-flex-center\",\n};\n\nexport function Input({\n variant = \"normal\",\n color = \"yellow\",\n disabled = false,\n prefix,\n suffix,\n className,\n inputClassName,\n readOnly,\n size = \"medium\",\n flexibleWidth = true,\n type,\n children,\n ref,\n ...rest\n}: InputProps) {\n return (\n <div\n aria-disabled={disabled}\n aria-readonly={readOnly}\n data-color={color}\n data-variant={variant}\n className={clsx(inputConfig.container, sizeVariant[size], className)}\n >\n {prefix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof prefix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {prefix}\n </div>\n )}\n <input\n type={type}\n ref={ref}\n className={clsx(\n inputConfig.input,\n size !== \"custom\" && !prefix && \"pl-4\",\n size !== \"custom\" && type !== \"date\" && type !== \"datetime-local\"\n ? !suffix && \"pr-4\"\n : \"pr-1\",\n flexibleWidth && \"w-0\",\n inputClassName,\n )}\n readOnly={readOnly}\n onClick={(e) => {\n if (readOnly) {\n (e.target as HTMLInputElement)?.select();\n }\n }}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {suffix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof suffix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {suffix}\n </div>\n )}\n {children}\n </div>\n );\n}\n"],"mappings":";;;;AAgBA,MAAae,cAAc;CACzBC,OAAO;CACPC,QAAQ;CACRC,OAAO;CACPC,QAAQ;AACV;AAEA,MAAaC,cAAc;CACzBC,WAAW;CACXC,OAAO;CACPC,MAAM;AACR;AAEA,SAAOC,MAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAd;CAAA,IAAAe;CAAA,IAAAd;CAAA,IAAAN;CAAA,IAAAqB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAtB;CAAA,IAAAuB;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAX,EAAA,OAAAD,IAAA;EAAe,CAAA,CAAAnB,SAAA0B,IAAAtB,OAAAuB,IAAA1B,UAAA2B,IAAA1B,QAAAC,QAAAmB,WAAAd,gBAAAe,UAAAlB,MAAAwB,IAAAvB,eAAAwB,IAAAC,MAAAxB,UAAAiB,QAAAC,QAAAN;EAeTC,EAAA,KAAAD;EAAAC,EAAA,KAAAb;EAAAa,EAAA,KAAAE;EAAAF,EAAA,KAAAZ;EAAAY,EAAA,KAAAlB;EAAAkB,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAjB;EAAAiB,EAAA,KAAAM;EAAAN,EAAA,MAAAO;EAAAP,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;EAAAT,EAAA,MAAAU;EAAAV,EAAA,MAAAW;CAAA,OAAA;EAAAxB,WAAAa,EAAA;EAAAE,YAAAF,EAAA;EAAAZ,iBAAAY,EAAA;EAAAlB,SAAAkB,EAAA;EAAAG,WAAAH,EAAA;EAAAI,MAAAJ,EAAA;EAAAK,OAAAL,EAAA;EAAAjB,SAAAiB,EAAA;EAAAM,KAAAN,EAAA;EAAAO,KAAAP,EAAA;EAAAQ,KAAAR,EAAA;EAAAS,KAAAT,EAAA;EAAAU,KAAAV,EAAA;EAAAW,OAAAX,EAAA;CAAA;CAdX,MAAApB,UAAA0B,OAAAM,KAAAA,IAAA,WAAAN;CACA,MAAAtB,QAAAuB,OAAAK,KAAAA,IAAA,WAAAL;CACA,MAAA1B,WAAA2B,OAAAI,KAAAA,IAAA,QAAAJ;CAMA,MAAAvB,OAAAwB,OAAAG,KAAAA,IAAA,WAAAH;CACA,MAAAvB,gBAAAwB,OAAAE,KAAAA,IAAA,OAAAF;CAY2C,MAAAG,KAAAxB,YAAYJ;CAAK,IAAA6B;CAAA,IAAAd,EAAA,QAAAE,aAAAF,EAAA,QAAAa,IAAA;EAA7CC,KAAAtC,KAAKkB,YAAWC,WAAYkB,IAAmBX,SAAS;EAACF,EAAA,MAAAE;EAAAF,EAAA,MAAAa;EAAAb,EAAA,MAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,QAAAlB,QAAA;EAEnEiC,KAAAjC,UACC,oBAAA,OAAA;GACa,WAAAN,KAAK,CACd,wBACA,OAAOM,WAAW,YAAlB,8BAA4D,CAC7D;
|
|
1
|
+
{"version":3,"file":"Input-B9HNBGpq.mjs","names":["ComponentPropsWithRef","ReactNode","clsx","ThemeColor","InputProps","Omit","variant","disabled","prefix","suffix","color","size","flexibleWidth","children","inputClassName","sizeVariant","small","medium","large","custom","inputConfig","container","input","icon","Input","t0","$","_c","className","readOnly","ref","rest","t1","t2","t3","t4","t5","type","undefined","t6","t7","t8","t9","t10","t11","t12","t13","e","target","HTMLInputElement","select","t14","t15","t16","t17"],"sources":["../src/components/fields/text/Input.tsx"],"sourcesContent":["import { ComponentPropsWithRef, ReactNode } from \"react\";\nimport clsx from \"clsx\";\nimport type { ThemeColor } from \"../../../types\";\n\nexport interface InputProps extends Omit<ComponentPropsWithRef<\"input\">, \"prefix\" | \"size\"> {\n variant?: \"normal\" | \"ghost\";\n disabled?: boolean;\n prefix?: ReactNode;\n suffix?: ReactNode;\n color?: ThemeColor;\n size?: \"small\" | \"medium\" | \"large\" | \"custom\";\n flexibleWidth?: boolean;\n children?: ReactNode;\n inputClassName?: string;\n}\n\nexport const sizeVariant = {\n small: \"[--h-input:24px] h-(--h-input)\",\n medium: \"[--h-input:32px] h-(--h-input)\",\n large: \"[--h-input:48px] h-(--h-input)\",\n custom: \"\",\n};\n\nexport const inputConfig = {\n container: \"p8n-input-text rounded-full flex box-border\",\n input: \"h-full flex-1 appearance-none outline-hidden filter-none min-w-0 bg-transparent\",\n icon: \"[--h-icon:calc(var(--h-input)-2px)] h-(--h-icon) w-(--h-icon) inline-flex-center\",\n};\n\nexport function Input({\n variant = \"normal\",\n color = \"yellow\",\n disabled = false,\n prefix,\n suffix,\n className,\n inputClassName,\n readOnly,\n size = \"medium\",\n flexibleWidth = true,\n type,\n children,\n ref,\n ...rest\n}: InputProps) {\n return (\n <div\n aria-disabled={disabled}\n aria-readonly={readOnly}\n data-color={color}\n data-variant={variant}\n className={clsx(inputConfig.container, sizeVariant[size], className)}\n >\n {prefix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof prefix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {prefix}\n </div>\n )}\n <input\n type={type}\n ref={ref}\n className={clsx(\n inputConfig.input,\n size !== \"custom\" && !prefix && \"pl-4\",\n size !== \"custom\" && type !== \"date\" && type !== \"datetime-local\"\n ? !suffix && \"pr-4\"\n : \"pr-1\",\n flexibleWidth && \"w-0\",\n inputClassName,\n )}\n readOnly={readOnly}\n onClick={(e) => {\n if (readOnly) {\n (e.target as HTMLInputElement)?.select();\n }\n }}\n {...(disabled ? { disabled } : {})}\n {...rest}\n />\n {suffix && (\n <div\n className={clsx([\n \"flex-center relative\",\n typeof suffix === \"string\" && \"text-gray-6 mx-2 select-none\",\n ])}\n >\n {suffix}\n </div>\n )}\n {children}\n </div>\n );\n}\n"],"mappings":"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"}
|