@zentauri-ui/zentauri-components 2.2.0 → 2.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 (97) hide show
  1. package/README.md +6 -5
  2. package/cli/props.json +400 -0
  3. package/cli/registry.json +6 -0
  4. package/dist/{chunk-TACF7MJE.mjs → chunk-45ZHGDT2.mjs} +3 -3
  5. package/dist/{chunk-TACF7MJE.mjs.map → chunk-45ZHGDT2.mjs.map} +1 -1
  6. package/dist/chunk-46HJFCP7.js +87 -0
  7. package/dist/chunk-46HJFCP7.js.map +1 -0
  8. package/dist/{chunk-AMNJ35TT.mjs → chunk-5HLEHSPM.mjs} +14 -5
  9. package/dist/chunk-5HLEHSPM.mjs.map +1 -0
  10. package/dist/{chunk-YTCVWOBC.js → chunk-DUH2YLH2.js} +12 -12
  11. package/dist/{chunk-YTCVWOBC.js.map → chunk-DUH2YLH2.js.map} +1 -1
  12. package/dist/chunk-HR6MGXNI.mjs +212 -0
  13. package/dist/chunk-HR6MGXNI.mjs.map +1 -0
  14. package/dist/chunk-LOEKM3FL.mjs +78 -0
  15. package/dist/chunk-LOEKM3FL.mjs.map +1 -0
  16. package/dist/{chunk-EPJYLBXV.js → chunk-NW5BSLR2.js} +6 -6
  17. package/dist/{chunk-EPJYLBXV.js.map → chunk-NW5BSLR2.js.map} +1 -1
  18. package/dist/{chunk-F3G3RL2N.js → chunk-UJZ7JQBQ.js} +14 -5
  19. package/dist/chunk-UJZ7JQBQ.js.map +1 -0
  20. package/dist/chunk-WMM42MAC.js +222 -0
  21. package/dist/chunk-WMM42MAC.js.map +1 -0
  22. package/dist/chunk-YBKNXDZU.js +19 -0
  23. package/dist/{chunk-VQJXOJ7G.js.map → chunk-YBKNXDZU.js.map} +1 -1
  24. package/dist/{chunk-5XSW5JYA.mjs → chunk-YSQW56JX.mjs} +4 -4
  25. package/dist/{chunk-5XSW5JYA.mjs.map → chunk-YSQW56JX.mjs.map} +1 -1
  26. package/dist/{chunk-37KMH77M.mjs → chunk-Z4Y5IPR3.mjs} +3 -3
  27. package/dist/{chunk-37KMH77M.mjs.map → chunk-Z4Y5IPR3.mjs.map} +1 -1
  28. package/dist/design-system/facade.js +6 -5
  29. package/dist/design-system/facade.js.map +1 -1
  30. package/dist/design-system/facade.mjs +5 -4
  31. package/dist/design-system/facade.mjs.map +1 -1
  32. package/dist/design-system/index.d.ts +1 -0
  33. package/dist/design-system/index.d.ts.map +1 -1
  34. package/dist/design-system/password-strength-meter.d.ts +74 -0
  35. package/dist/design-system/password-strength-meter.d.ts.map +1 -0
  36. package/dist/ui/buttons/animated.js +8 -7
  37. package/dist/ui/buttons/animated.js.map +1 -1
  38. package/dist/ui/buttons/animated.mjs +6 -5
  39. package/dist/ui/buttons/animated.mjs.map +1 -1
  40. package/dist/ui/buttons.js +9 -8
  41. package/dist/ui/buttons.mjs +7 -6
  42. package/dist/ui/data-table.js +19 -18
  43. package/dist/ui/data-table.js.map +1 -1
  44. package/dist/ui/data-table.mjs +9 -8
  45. package/dist/ui/data-table.mjs.map +1 -1
  46. package/dist/ui/dynamic-stepper.js +18 -17
  47. package/dist/ui/dynamic-stepper.js.map +1 -1
  48. package/dist/ui/dynamic-stepper.mjs +7 -6
  49. package/dist/ui/dynamic-stepper.mjs.map +1 -1
  50. package/dist/ui/pagination.js +10 -9
  51. package/dist/ui/pagination.mjs +7 -6
  52. package/dist/ui/password-strength-meter/animated/animations.d.ts +3 -0
  53. package/dist/ui/password-strength-meter/animated/animations.d.ts.map +1 -0
  54. package/dist/ui/password-strength-meter/animated/index.d.ts +4 -0
  55. package/dist/ui/password-strength-meter/animated/index.d.ts.map +1 -0
  56. package/dist/ui/password-strength-meter/animated/password-strength-meter-animated.d.ts +14 -0
  57. package/dist/ui/password-strength-meter/animated/password-strength-meter-animated.d.ts.map +1 -0
  58. package/dist/ui/password-strength-meter/animated/types.d.ts +21 -0
  59. package/dist/ui/password-strength-meter/animated/types.d.ts.map +1 -0
  60. package/dist/ui/password-strength-meter/animated.js +169 -0
  61. package/dist/ui/password-strength-meter/animated.js.map +1 -0
  62. package/dist/ui/password-strength-meter/animated.mjs +165 -0
  63. package/dist/ui/password-strength-meter/animated.mjs.map +1 -0
  64. package/dist/ui/password-strength-meter/index.d.ts +5 -0
  65. package/dist/ui/password-strength-meter/index.d.ts.map +1 -0
  66. package/dist/ui/password-strength-meter/password-strength-meter-base.d.ts +17 -0
  67. package/dist/ui/password-strength-meter/password-strength-meter-base.d.ts.map +1 -0
  68. package/dist/ui/password-strength-meter/password-strength-meter.d.ts +6 -0
  69. package/dist/ui/password-strength-meter/password-strength-meter.d.ts.map +1 -0
  70. package/dist/ui/password-strength-meter/types.d.ts +33 -0
  71. package/dist/ui/password-strength-meter/types.d.ts.map +1 -0
  72. package/dist/ui/password-strength-meter/variants.d.ts +13 -0
  73. package/dist/ui/password-strength-meter/variants.d.ts.map +1 -0
  74. package/dist/ui/password-strength-meter.js +37 -0
  75. package/dist/ui/password-strength-meter.js.map +1 -0
  76. package/dist/ui/password-strength-meter.mjs +16 -0
  77. package/dist/ui/password-strength-meter.mjs.map +1 -0
  78. package/dist/ui/split-button.js +20 -19
  79. package/dist/ui/split-button.js.map +1 -1
  80. package/dist/ui/split-button.mjs +7 -6
  81. package/dist/ui/split-button.mjs.map +1 -1
  82. package/package.json +1 -1
  83. package/src/design-system/index.ts +1 -0
  84. package/src/design-system/password-strength-meter.ts +115 -0
  85. package/src/ui/password-strength-meter/animated/animations.ts +10 -0
  86. package/src/ui/password-strength-meter/animated/index.ts +14 -0
  87. package/src/ui/password-strength-meter/animated/password-strength-meter-animated.tsx +186 -0
  88. package/src/ui/password-strength-meter/animated/types.ts +35 -0
  89. package/src/ui/password-strength-meter/index.ts +18 -0
  90. package/src/ui/password-strength-meter/password-strength-meter-base.tsx +202 -0
  91. package/src/ui/password-strength-meter/password-strength-meter.test.tsx +103 -0
  92. package/src/ui/password-strength-meter/password-strength-meter.tsx +8 -0
  93. package/src/ui/password-strength-meter/types.ts +40 -0
  94. package/src/ui/password-strength-meter/variants.ts +49 -0
  95. package/dist/chunk-AMNJ35TT.mjs.map +0 -1
  96. package/dist/chunk-F3G3RL2N.js.map +0 -1
  97. package/dist/chunk-VQJXOJ7G.js +0 -19
package/README.md CHANGED
@@ -29,12 +29,12 @@ Generated from the component package Vitest JSON report via `pnpm --filter @zent
29
29
 
30
30
  | Metric | Result |
31
31
  | ---------- | ---------------- |
32
- | Test files | 100 passed (100) |
33
- | Tests | 836 passed (836) |
32
+ | Test files | 101 passed (101) |
33
+ | Tests | 848 passed (848) |
34
34
 
35
35
  | Area | Test files | Tests |
36
36
  | ------------------------------ | ---------- | ----- |
37
- | Components and UI utilities | 51 | 531 |
37
+ | Components and UI utilities | 52 | 543 |
38
38
  | Standalone animations | 1 | 45 |
39
39
  | React hooks | 41 | 174 |
40
40
  | Design system facade | 1 | 11 |
@@ -49,7 +49,7 @@ Generated from the component package Vitest JSON report via `pnpm --filter @zent
49
49
  | `src/ui/buttons/button.test.tsx` | 44 |
50
50
  | `src/ui/inputs/input.test.tsx` | 40 |
51
51
  | `src/ui/audio-player/audio-player.test.tsx` | 34 |
52
- | `src/ui/peer-isolation.test.ts` | 30 |
52
+ | `src/ui/peer-isolation.test.ts` | 31 |
53
53
  | `src/accessibility/axe-core.test.tsx` | 24 |
54
54
  | `src/ui/combobox/combobox.test.tsx` | 24 |
55
55
  | `cli/cli.integration.test.ts` | 21 |
@@ -60,6 +60,7 @@ Generated from the component package Vitest JSON report via `pnpm --filter @zent
60
60
  | `src/ui/context-menu/context-menu.test.tsx` | 12 |
61
61
  | `src/lib/facade.test.ts` | 11 |
62
62
  | `src/ui/alert/alert.test.tsx` | 11 |
63
+ | `src/ui/password-strength-meter/password-strength-meter.test.tsx` | 11 |
63
64
  | `src/ui/rating/rating.test.tsx` | 11 |
64
65
  | `src/ui/select/select.test.tsx` | 11 |
65
66
  | `src/ui/split-button/split-button.test.tsx` | 11 |
@@ -856,7 +857,7 @@ From this package directory in the monorepo:
856
857
 
857
858
  - `pnpm build` (or `npm run build`) — production bundle via `tsup` (Rollup treeshake + `scripts/prepend-use-client.mjs` via `onSuccess` so each UI entry under `dist/ui/`, animation entry under `dist/animations/`, chart entry under `dist/charts/`, and `dist/ui/<name>/animated.*` starts with `"use client"` where needed)
858
859
  - `pnpm dev` — `tsup` watch mode (same `onSuccess` hook after each rebuild)
859
- - `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests // currently covered 836 test cases in total
860
+ - `pnpm test` / `pnpm test:watch` — **Vitest** and **Testing Library** unit tests // currently covered 848 test cases in total
860
861
  - `pnpm test:a11y` — focused accessibility coverage for package-level UI primitives and compound components: **axe-core** audits for every interactive component plus **keyboard-interaction** tests (focus order, arrow-key nav, Home/End, Escape/Enter) for the compound components
861
862
  - `pnpm check:tokens` — enforce the `--zui-*` token contract across design-system, variant, and local custom-property usage without generating a large checked-in token catalog
862
863
  - **`pnpm run generate:registry`** — runs `scripts/generate-registry.mjs`, which reads **`uiComponentNames`**, **`uiAnimatedComponentNames`**, **`animationEntryNames`**, **`chartEntryNames`**, and **`hooksEntryNames`** from `tsup.config.ts`, applies fixed **`nameAliases`**, scans each component/chart source to build **`peerHints`**, and writes **`cli/registry.json`** (`components` + `animations` + `hooks` + `peerHints`). Run this after adding or renaming UI, animation, chart, or hook entries so the CLI stays in sync (the script prints counts).
package/cli/props.json CHANGED
@@ -8865,6 +8865,406 @@
8865
8865
  }
8866
8866
  ]
8867
8867
  },
8868
+ "password-strength-meter": {
8869
+ "slug": "password-strength-meter",
8870
+ "subcomponents": [
8871
+ {
8872
+ "name": "static:PasswordStrengthMeter",
8873
+ "displayName": "PasswordStrengthMeter",
8874
+ "propsType": "PasswordStrengthMeterProps",
8875
+ "source": "static",
8876
+ "props": [
8877
+ {
8878
+ "name": "appearance",
8879
+ "type": "enum",
8880
+ "required": false,
8881
+ "default": "default",
8882
+ "group": "variant",
8883
+ "isVariant": true,
8884
+ "options": [
8885
+ "aqua",
8886
+ "blue",
8887
+ "crimson",
8888
+ "cyan",
8889
+ "default",
8890
+ "destructive",
8891
+ "electric",
8892
+ "emerald",
8893
+ "forest",
8894
+ "ghost",
8895
+ "glass",
8896
+ "gradient-blue",
8897
+ "gradient-green",
8898
+ "gradient-indigo",
8899
+ "gradient-orange",
8900
+ "gradient-pink",
8901
+ "gradient-purple",
8902
+ "gradient-red",
8903
+ "gradient-teal",
8904
+ "gradient-yellow",
8905
+ "green",
8906
+ "indigo",
8907
+ "lavender",
8908
+ "lime",
8909
+ "magenta",
8910
+ "mint",
8911
+ "ocean",
8912
+ "orange",
8913
+ "outline",
8914
+ "pink",
8915
+ "plum",
8916
+ "purple",
8917
+ "red",
8918
+ "rose",
8919
+ "royal",
8920
+ "ruby",
8921
+ "sapphire",
8922
+ "secondary",
8923
+ "sky",
8924
+ "slate",
8925
+ "stone",
8926
+ "sunset",
8927
+ "teal",
8928
+ "yellow",
8929
+ "zinc"
8930
+ ],
8931
+ "variantGroup": "appearance",
8932
+ "deprecated": false
8933
+ },
8934
+ {
8935
+ "name": "shape",
8936
+ "type": "enum",
8937
+ "required": false,
8938
+ "default": "rounded",
8939
+ "group": "variant",
8940
+ "isVariant": true,
8941
+ "options": [
8942
+ "flat",
8943
+ "pill",
8944
+ "rounded"
8945
+ ],
8946
+ "variantGroup": "shape",
8947
+ "deprecated": false
8948
+ },
8949
+ {
8950
+ "name": "size",
8951
+ "type": "enum",
8952
+ "required": false,
8953
+ "default": "md",
8954
+ "group": "variant",
8955
+ "isVariant": true,
8956
+ "options": [
8957
+ "lg",
8958
+ "md",
8959
+ "sm",
8960
+ "xl",
8961
+ "xs"
8962
+ ],
8963
+ "variantGroup": "size",
8964
+ "deprecated": false
8965
+ },
8966
+ {
8967
+ "name": "value",
8968
+ "type": "number",
8969
+ "required": true,
8970
+ "group": "controlled",
8971
+ "deprecated": false
8972
+ },
8973
+ {
8974
+ "name": "animated",
8975
+ "type": "boolean | undefined",
8976
+ "required": false,
8977
+ "group": "behavior",
8978
+ "deprecated": false
8979
+ },
8980
+ {
8981
+ "name": "as",
8982
+ "type": "ElementType | undefined",
8983
+ "required": false,
8984
+ "group": "behavior",
8985
+ "deprecated": false
8986
+ },
8987
+ {
8988
+ "name": "label",
8989
+ "type": "string | undefined",
8990
+ "required": false,
8991
+ "group": "behavior",
8992
+ "deprecated": false
8993
+ },
8994
+ {
8995
+ "name": "max",
8996
+ "type": "number | undefined",
8997
+ "required": false,
8998
+ "group": "behavior",
8999
+ "deprecated": false
9000
+ },
9001
+ {
9002
+ "name": "min",
9003
+ "type": "number | undefined",
9004
+ "required": false,
9005
+ "group": "behavior",
9006
+ "deprecated": false
9007
+ },
9008
+ {
9009
+ "name": "scoreLabel",
9010
+ "type": "string | undefined",
9011
+ "required": false,
9012
+ "group": "behavior",
9013
+ "deprecated": false
9014
+ },
9015
+ {
9016
+ "name": "segmented",
9017
+ "type": "boolean | undefined",
9018
+ "required": false,
9019
+ "group": "behavior",
9020
+ "deprecated": false
9021
+ },
9022
+ {
9023
+ "name": "showScoreLabel",
9024
+ "type": "boolean | undefined",
9025
+ "required": false,
9026
+ "group": "behavior",
9027
+ "deprecated": false
9028
+ },
9029
+ {
9030
+ "name": "children",
9031
+ "type": "ReactNode",
9032
+ "required": false,
9033
+ "group": "content",
9034
+ "deprecated": false
9035
+ },
9036
+ {
9037
+ "name": "className",
9038
+ "type": "string | undefined",
9039
+ "required": false,
9040
+ "group": "dom",
9041
+ "deprecated": false
9042
+ },
9043
+ {
9044
+ "name": "id",
9045
+ "type": "string | undefined",
9046
+ "required": false,
9047
+ "group": "dom",
9048
+ "deprecated": false
9049
+ },
9050
+ {
9051
+ "name": "onClick",
9052
+ "type": "MouseEventHandler<HTMLDivElement> | undefined",
9053
+ "required": false,
9054
+ "group": "dom",
9055
+ "deprecated": false
9056
+ },
9057
+ {
9058
+ "name": "style",
9059
+ "type": "CSSProperties | undefined",
9060
+ "required": false,
9061
+ "group": "dom",
9062
+ "deprecated": false
9063
+ },
9064
+ {
9065
+ "name": "title",
9066
+ "type": "string | undefined",
9067
+ "required": false,
9068
+ "group": "dom",
9069
+ "deprecated": false
9070
+ }
9071
+ ]
9072
+ },
9073
+ {
9074
+ "name": "static:PasswordStrengthMeterVariant",
9075
+ "displayName": "PasswordStrengthMeterVariant",
9076
+ "propsType": "PasswordStrengthMeterVariantProps",
9077
+ "source": "static",
9078
+ "props": [
9079
+ {
9080
+ "name": "appearance",
9081
+ "type": "'default' | 'outline' | 'ghost' | 'blue' | 'cyan' | 'green' | 'lime' | 'mint' | 'ocean' | 'sapphire' | 'lavender' | 'ruby' | 'red' | 'slate' | 'zinc' | 'stone' | 'royal' | 'electric' | 'forest' | 'sunset' | 'magenta' | 'crimson' | 'aqua' | 'plum' | 'sky' | 'rose' | 'purple' | 'pink' | 'orange' | 'yellow' | 'teal' | 'indigo' | 'emerald' | 'gradient-blue' | 'gradient-green' | 'gradient-red' | 'gradient-yellow' | 'gradient-purple' | 'gradient-teal' | 'gradient-indigo' | 'gradient-pink' | 'gradient-orange' | 'secondary' | 'destructive' | 'glass' | null | undefined",
9082
+ "required": false,
9083
+ "group": "behavior",
9084
+ "deprecated": false
9085
+ },
9086
+ {
9087
+ "name": "shape",
9088
+ "type": "'rounded' | 'flat' | 'pill' | null | undefined",
9089
+ "required": false,
9090
+ "group": "behavior",
9091
+ "deprecated": false
9092
+ },
9093
+ {
9094
+ "name": "size",
9095
+ "type": "'md' | 'sm' | 'lg' | 'xl' | 'xs' | null | undefined",
9096
+ "required": false,
9097
+ "group": "behavior",
9098
+ "deprecated": false
9099
+ }
9100
+ ]
9101
+ },
9102
+ {
9103
+ "name": "animated:PasswordStrengthMeterAnimated",
9104
+ "displayName": "PasswordStrengthMeterAnimated",
9105
+ "propsType": "PasswordStrengthMeterAnimatedProps",
9106
+ "source": "animated",
9107
+ "props": [
9108
+ {
9109
+ "name": "value",
9110
+ "type": "number",
9111
+ "required": true,
9112
+ "group": "controlled",
9113
+ "deprecated": false
9114
+ },
9115
+ {
9116
+ "name": "animated",
9117
+ "type": "boolean | undefined",
9118
+ "required": false,
9119
+ "group": "behavior",
9120
+ "deprecated": false
9121
+ },
9122
+ {
9123
+ "name": "animation",
9124
+ "type": "PasswordStrengthMeterAnimation | undefined",
9125
+ "required": false,
9126
+ "group": "behavior",
9127
+ "deprecated": false
9128
+ },
9129
+ {
9130
+ "name": "appearance",
9131
+ "type": "'default' | 'outline' | 'ghost' | 'blue' | 'cyan' | 'green' | 'lime' | 'mint' | 'ocean' | 'sapphire' | 'lavender' | 'ruby' | 'red' | 'slate' | 'zinc' | 'stone' | 'royal' | 'electric' | 'forest' | 'sunset' | 'magenta' | 'crimson' | 'aqua' | 'plum' | 'sky' | 'rose' | 'purple' | 'pink' | 'orange' | 'yellow' | 'teal' | 'indigo' | 'emerald' | 'gradient-blue' | 'gradient-green' | 'gradient-red' | 'gradient-yellow' | 'gradient-purple' | 'gradient-teal' | 'gradient-indigo' | 'gradient-pink' | 'gradient-orange' | 'secondary' | 'destructive' | 'glass' | null | undefined",
9132
+ "required": false,
9133
+ "group": "behavior",
9134
+ "deprecated": false
9135
+ },
9136
+ {
9137
+ "name": "label",
9138
+ "type": "string | undefined",
9139
+ "required": false,
9140
+ "group": "behavior",
9141
+ "deprecated": false
9142
+ },
9143
+ {
9144
+ "name": "max",
9145
+ "type": "number | undefined",
9146
+ "required": false,
9147
+ "group": "behavior",
9148
+ "deprecated": false
9149
+ },
9150
+ {
9151
+ "name": "min",
9152
+ "type": "number | undefined",
9153
+ "required": false,
9154
+ "group": "behavior",
9155
+ "deprecated": false
9156
+ },
9157
+ {
9158
+ "name": "scoreLabel",
9159
+ "type": "string | undefined",
9160
+ "required": false,
9161
+ "group": "behavior",
9162
+ "deprecated": false
9163
+ },
9164
+ {
9165
+ "name": "segmented",
9166
+ "type": "boolean | undefined",
9167
+ "required": false,
9168
+ "group": "behavior",
9169
+ "deprecated": false
9170
+ },
9171
+ {
9172
+ "name": "shape",
9173
+ "type": "'rounded' | 'flat' | 'pill' | null | undefined",
9174
+ "required": false,
9175
+ "group": "behavior",
9176
+ "deprecated": false
9177
+ },
9178
+ {
9179
+ "name": "showScoreLabel",
9180
+ "type": "boolean | undefined",
9181
+ "required": false,
9182
+ "group": "behavior",
9183
+ "deprecated": false
9184
+ },
9185
+ {
9186
+ "name": "size",
9187
+ "type": "'md' | 'sm' | 'lg' | 'xl' | 'xs' | null | undefined",
9188
+ "required": false,
9189
+ "group": "behavior",
9190
+ "deprecated": false
9191
+ },
9192
+ {
9193
+ "name": "children",
9194
+ "type": "ReactNode",
9195
+ "required": false,
9196
+ "group": "content",
9197
+ "deprecated": false
9198
+ },
9199
+ {
9200
+ "name": "className",
9201
+ "type": "string | undefined",
9202
+ "required": false,
9203
+ "group": "dom",
9204
+ "deprecated": false
9205
+ },
9206
+ {
9207
+ "name": "id",
9208
+ "type": "string | undefined",
9209
+ "required": false,
9210
+ "group": "dom",
9211
+ "deprecated": false
9212
+ },
9213
+ {
9214
+ "name": "onClick",
9215
+ "type": "MouseEventHandler<HTMLDivElement> | undefined",
9216
+ "required": false,
9217
+ "group": "dom",
9218
+ "deprecated": false
9219
+ },
9220
+ {
9221
+ "name": "style",
9222
+ "type": "MotionStyle | undefined",
9223
+ "required": false,
9224
+ "group": "dom",
9225
+ "description": "\nThe React DOM `style` prop, enhanced with support for `MotionValue`s and separate `transform` values.\n\n```jsx\nexport const MyComponent = () => {\n const x = useMotionValue(0)\n\n return <motion.div style={{ x, opacity: 1, scale: 0.5 }} />\n}\n```",
9226
+ "deprecated": false
9227
+ },
9228
+ {
9229
+ "name": "title",
9230
+ "type": "string | undefined",
9231
+ "required": false,
9232
+ "group": "dom",
9233
+ "deprecated": false
9234
+ }
9235
+ ]
9236
+ },
9237
+ {
9238
+ "name": "animated:PasswordStrengthMeterVariant",
9239
+ "displayName": "PasswordStrengthMeterVariant",
9240
+ "propsType": "PasswordStrengthMeterVariantProps",
9241
+ "source": "animated",
9242
+ "props": [
9243
+ {
9244
+ "name": "appearance",
9245
+ "type": "'default' | 'outline' | 'ghost' | 'blue' | 'cyan' | 'green' | 'lime' | 'mint' | 'ocean' | 'sapphire' | 'lavender' | 'ruby' | 'red' | 'slate' | 'zinc' | 'stone' | 'royal' | 'electric' | 'forest' | 'sunset' | 'magenta' | 'crimson' | 'aqua' | 'plum' | 'sky' | 'rose' | 'purple' | 'pink' | 'orange' | 'yellow' | 'teal' | 'indigo' | 'emerald' | 'gradient-blue' | 'gradient-green' | 'gradient-red' | 'gradient-yellow' | 'gradient-purple' | 'gradient-teal' | 'gradient-indigo' | 'gradient-pink' | 'gradient-orange' | 'secondary' | 'destructive' | 'glass' | null | undefined",
9246
+ "required": false,
9247
+ "group": "behavior",
9248
+ "deprecated": false
9249
+ },
9250
+ {
9251
+ "name": "shape",
9252
+ "type": "'rounded' | 'flat' | 'pill' | null | undefined",
9253
+ "required": false,
9254
+ "group": "behavior",
9255
+ "deprecated": false
9256
+ },
9257
+ {
9258
+ "name": "size",
9259
+ "type": "'md' | 'sm' | 'lg' | 'xl' | 'xs' | null | undefined",
9260
+ "required": false,
9261
+ "group": "behavior",
9262
+ "deprecated": false
9263
+ }
9264
+ ]
9265
+ }
9266
+ ]
9267
+ },
8868
9268
  "popover": {
8869
9269
  "slug": "popover",
8870
9270
  "subcomponents": [
package/cli/registry.json CHANGED
@@ -30,6 +30,7 @@
30
30
  "modal",
31
31
  "otp-input",
32
32
  "pagination",
33
+ "password-strength-meter",
33
34
  "popover",
34
35
  "progress",
35
36
  "radio-group",
@@ -66,6 +67,7 @@
66
67
  "inputs",
67
68
  "kbd",
68
69
  "modal",
70
+ "password-strength-meter",
69
71
  "popover",
70
72
  "progress",
71
73
  "radio-group",
@@ -170,6 +172,7 @@
170
172
  "modal",
171
173
  "otp-input",
172
174
  "pagination",
175
+ "password-strength-meter",
173
176
  "popover",
174
177
  "progress",
175
178
  "radio-group",
@@ -357,6 +360,9 @@
357
360
  "modal": [
358
361
  "framer-motion"
359
362
  ],
363
+ "password-strength-meter": [
364
+ "framer-motion"
365
+ ],
360
366
  "popover": [
361
367
  "framer-motion"
362
368
  ],
@@ -1,4 +1,4 @@
1
- import { buttonVariants } from './chunk-37KMH77M.mjs';
1
+ import { buttonVariants } from './chunk-Z4Y5IPR3.mjs';
2
2
  import { cn } from './chunk-4D54YOL6.mjs';
3
3
  import { isValidElement, cloneElement } from 'react';
4
4
  import { jsx } from 'react/jsx-runtime';
@@ -97,5 +97,5 @@ var Button = (props) => {
97
97
  Button.displayName = "Button";
98
98
 
99
99
  export { Button };
100
- //# sourceMappingURL=chunk-TACF7MJE.mjs.map
101
- //# sourceMappingURL=chunk-TACF7MJE.mjs.map
100
+ //# sourceMappingURL=chunk-45ZHGDT2.mjs.map
101
+ //# sourceMappingURL=chunk-45ZHGDT2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/buttons/button-base.tsx","../src/ui/buttons/button.tsx"],"names":["className","appearance","size","children","rest","ref","jsx"],"mappings":"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","file":"chunk-TACF7MJE.mjs","sourcesContent":["\"use client\";\n\nimport { cloneElement, isValidElement, type MouseEventHandler } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { ButtonProps } from \"./types\";\nimport { buttonVariants } from \"./variants\";\n\nexport const ButtonBase = (props: ButtonProps) => {\n if (\"asChild\" in props && props.asChild) {\n const {\n className,\n appearance,\n size,\n children,\n asChild: _asChild,\n disabled,\n onClick,\n ...rest\n } = props;\n\n if (!isValidElement<{ className?: string }>(children)) {\n return null;\n }\n\n const isNativeButton = children.type === \"button\";\n const childOnClick = children.props.onClick as\n | MouseEventHandler<HTMLElement>\n | undefined;\n const handleClick: MouseEventHandler<HTMLElement> = (event) => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n onClick?.(event);\n if (!event.defaultPrevented) {\n childOnClick?.(event);\n }\n };\n\n return cloneElement(children, {\n ...rest,\n ...children.props,\n ...(disabled\n ? isNativeButton\n ? { disabled: true }\n : { \"aria-disabled\": true, tabIndex: -1 }\n : null),\n \"data-slot\": \"button\",\n onClick: handleClick,\n className: cn(\n buttonVariants({ appearance, size }),\n children.props.className,\n className,\n ),\n });\n }\n\n if (props.as === \"link\") {\n const {\n className,\n appearance,\n size,\n children,\n ref,\n href,\n target,\n ...rest\n } = props;\n\n return (\n <a\n ref={ref}\n href={href}\n target={target}\n rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n data-slot=\"button\"\n className={cn(buttonVariants({ appearance, size }), className)}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n const {\n className,\n appearance,\n size,\n type = \"button\",\n children,\n ref,\n ...rest\n } = props;\n\n return (\n <button\n ref={ref}\n type={type}\n data-slot=\"button\"\n className={cn(buttonVariants({ appearance, size }), className)}\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nButtonBase.displayName = \"Button\";\n","// button.tsx — default static entry (no framer-motion)\nimport { ButtonBase } from \"./button-base\";\nimport type { ButtonProps } from \"./types\";\n\nexport const Button = (props: ButtonProps) => {\n return <ButtonBase {...props} />;\n};\n\nButton.displayName = \"Button\";\n"]}
1
+ {"version":3,"sources":["../src/ui/buttons/button-base.tsx","../src/ui/buttons/button.tsx"],"names":["className","appearance","size","children","rest","ref","jsx"],"mappings":"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","file":"chunk-45ZHGDT2.mjs","sourcesContent":["\"use client\";\n\nimport { cloneElement, isValidElement, type MouseEventHandler } from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport type { ButtonProps } from \"./types\";\nimport { buttonVariants } from \"./variants\";\n\nexport const ButtonBase = (props: ButtonProps) => {\n if (\"asChild\" in props && props.asChild) {\n const {\n className,\n appearance,\n size,\n children,\n asChild: _asChild,\n disabled,\n onClick,\n ...rest\n } = props;\n\n if (!isValidElement<{ className?: string }>(children)) {\n return null;\n }\n\n const isNativeButton = children.type === \"button\";\n const childOnClick = children.props.onClick as\n | MouseEventHandler<HTMLElement>\n | undefined;\n const handleClick: MouseEventHandler<HTMLElement> = (event) => {\n if (disabled) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n onClick?.(event);\n if (!event.defaultPrevented) {\n childOnClick?.(event);\n }\n };\n\n return cloneElement(children, {\n ...rest,\n ...children.props,\n ...(disabled\n ? isNativeButton\n ? { disabled: true }\n : { \"aria-disabled\": true, tabIndex: -1 }\n : null),\n \"data-slot\": \"button\",\n onClick: handleClick,\n className: cn(\n buttonVariants({ appearance, size }),\n children.props.className,\n className,\n ),\n });\n }\n\n if (props.as === \"link\") {\n const {\n className,\n appearance,\n size,\n children,\n ref,\n href,\n target,\n ...rest\n } = props;\n\n return (\n <a\n ref={ref}\n href={href}\n target={target}\n rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined}\n data-slot=\"button\"\n className={cn(buttonVariants({ appearance, size }), className)}\n {...rest}\n >\n {children}\n </a>\n );\n }\n\n const {\n className,\n appearance,\n size,\n type = \"button\",\n children,\n ref,\n ...rest\n } = props;\n\n return (\n <button\n ref={ref}\n type={type}\n data-slot=\"button\"\n className={cn(buttonVariants({ appearance, size }), className)}\n {...rest}\n >\n {children}\n </button>\n );\n};\n\nButtonBase.displayName = \"Button\";\n","// button.tsx — default static entry (no framer-motion)\nimport { ButtonBase } from \"./button-base\";\nimport type { ButtonProps } from \"./types\";\n\nexport const Button = (props: ButtonProps) => {\n return <ButtonBase {...props} />;\n};\n\nButton.displayName = \"Button\";\n"]}
@@ -0,0 +1,87 @@
1
+ 'use strict';
2
+
3
+ // src/design-system/password-strength-meter.ts
4
+ var zuiPasswordStrengthMeterBase = "w-full text-[color:var(--zui-password-strength-meter-fg,var(--zui-fg,oklch(20.8%_0.042_265.755)))] dark:text-[color:var(--zui-password-strength-meter-fg-dark,var(--zui-fg-dark,oklch(98.4%_0.003_247.858)))]";
5
+ var zuiPasswordStrengthMeterAppearances = {
6
+ default: "[--psm-fill:var(--zui-password-strength-meter-default-fill,var(--zui-brand,oklch(20.8%_0.042_265.755)))] dark:[--psm-fill:var(--zui-password-strength-meter-default-fill-dark,var(--zui-brand-dark,oklch(98.4%_0.003_247.858)))]",
7
+ secondary: "[--psm-fill:var(--zui-password-strength-meter-secondary-fill,var(--zui-fg,oklch(44.6%_0.043_257.281)))] dark:[--psm-fill:var(--zui-password-strength-meter-secondary-fill-dark,var(--zui-fg-dark,oklch(86.9%_0.022_252.894)))]",
8
+ destructive: "[--psm-fill:var(--zui-password-strength-meter-destructive-fill,var(--zui-status-error,oklch(45.5%_0.188_13.697)))] dark:[--psm-fill:var(--zui-password-strength-meter-destructive-fill-dark,var(--zui-status-error-dark,oklch(71.2%_0.194_13.428)))]",
9
+ emerald: "[--psm-fill:var(--zui-password-strength-meter-emerald-fill,var(--zui-color-emerald,oklch(43.2%_0.095_166.913)))] dark:[--psm-fill:var(--zui-password-strength-meter-emerald-fill-dark,var(--zui-color-emerald-dark,oklch(76.5%_0.177_163.223)))]",
10
+ indigo: "[--psm-fill:var(--zui-password-strength-meter-indigo-fill,var(--zui-color-indigo,oklch(39.8%_0.195_277.366)))] dark:[--psm-fill:var(--zui-password-strength-meter-indigo-fill-dark,var(--zui-color-indigo-dark,oklch(67.3%_0.182_276.935)))]",
11
+ purple: "[--psm-fill:var(--zui-password-strength-meter-purple-fill,var(--zui-color-purple,oklch(43.8%_0.218_303.724)))] dark:[--psm-fill:var(--zui-password-strength-meter-purple-fill-dark,var(--zui-color-purple-dark,oklch(71.4%_0.203_305.504)))]",
12
+ pink: "[--psm-fill:var(--zui-password-strength-meter-pink-fill,var(--zui-color-pink,oklch(45.9%_0.187_3.815)))] dark:[--psm-fill:var(--zui-password-strength-meter-pink-fill-dark,var(--zui-color-pink-dark,oklch(71.8%_0.202_349.761)))]",
13
+ rose: "[--psm-fill:var(--zui-password-strength-meter-rose-fill,var(--zui-color-rose,oklch(45.5%_0.188_13.697)))] dark:[--psm-fill:var(--zui-password-strength-meter-rose-fill-dark,var(--zui-color-rose-dark,oklch(71.2%_0.194_13.428)))]",
14
+ sky: "[--psm-fill:var(--zui-password-strength-meter-sky-fill,var(--zui-color-sky,oklch(44.3%_0.11_240.79)))] dark:[--psm-fill:var(--zui-password-strength-meter-sky-fill-dark,var(--zui-color-sky-dark,oklch(74.6%_0.16_232.661)))]",
15
+ teal: "[--psm-fill:var(--zui-password-strength-meter-teal-fill,var(--zui-color-teal,oklch(43.7%_0.078_188.216)))] dark:[--psm-fill:var(--zui-password-strength-meter-teal-fill-dark,var(--zui-color-teal-dark,oklch(77.7%_0.152_181.912)))]",
16
+ yellow: "[--psm-fill:var(--zui-password-strength-meter-yellow-fill,var(--zui-color-yellow,oklch(47.6%_0.114_61.907)))] dark:[--psm-fill:var(--zui-password-strength-meter-yellow-fill-dark,var(--zui-color-yellow-dark,oklch(85.2%_0.199_91.936)))]",
17
+ orange: "[--psm-fill:var(--zui-password-strength-meter-orange-fill,var(--zui-color-orange,oklch(47%_0.157_37.304)))] dark:[--psm-fill:var(--zui-password-strength-meter-orange-fill-dark,var(--zui-color-orange-dark,oklch(75%_0.183_55.934)))]",
18
+ outline: "[--psm-fill:var(--zui-password-strength-meter-outline-fill,var(--zui-fg,oklch(52%_0.105_223.128)))] dark:[--psm-fill:var(--zui-password-strength-meter-outline-fill-dark,var(--zui-fg-dark,oklch(86.5%_0.127_207.078)))]",
19
+ ghost: "[--psm-fill:var(--zui-password-strength-meter-ghost-fill,var(--zui-fg,oklch(27.9%_0.041_260.031)))] dark:[--psm-fill:var(--zui-password-strength-meter-ghost-fill-dark,var(--zui-fg-dark,oklch(92.9%_0.013_255.508)))]",
20
+ glass: "[--psm-fill:var(--zui-password-strength-meter-glass-fill,var(--zui-fg,oklch(20.8%_0.042_265.755)))] dark:[--psm-fill:var(--zui-password-strength-meter-glass-fill-dark,var(--zui-fg-dark,#ffffff))]",
21
+ "gradient-blue": "[--psm-fill:var(--zui-password-strength-meter-gradient-blue-fill,var(--zui-color-blue,linear-gradient(90deg,oklch(62.3%_0.214_259.815)),oklch(62.7%_0.265_303.9)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-blue-fill-dark,var(--zui-color-blue-dark,linear-gradient(90deg,oklch(62.3%_0.214_259.815)),oklch(62.7%_0.265_303.9)))]",
22
+ "gradient-green": "[--psm-fill:var(--zui-password-strength-meter-gradient-green-fill,var(--zui-color-green,linear-gradient(90deg,oklch(72.3%_0.219_149.579)),oklch(76.8%_0.233_130.85)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-green-fill-dark,var(--zui-color-green-dark,linear-gradient(90deg,oklch(72.3%_0.219_149.579)),oklch(76.8%_0.233_130.85)))]",
23
+ "gradient-red": "[--psm-fill:var(--zui-password-strength-meter-gradient-red-fill,var(--zui-color-red,linear-gradient(90deg,oklch(63.7%_0.237_25.331)),oklch(65.6%_0.241_354.308)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-red-fill-dark,var(--zui-color-red-dark,linear-gradient(90deg,oklch(63.7%_0.237_25.331)),oklch(65.6%_0.241_354.308)))]",
24
+ "gradient-yellow": "[--psm-fill:var(--zui-password-strength-meter-gradient-yellow-fill,var(--zui-color-yellow,linear-gradient(90deg,oklch(79.5%_0.184_86.047)),oklch(70.5%_0.213_47.604)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-yellow-fill-dark,var(--zui-color-yellow-dark,linear-gradient(90deg,oklch(79.5%_0.184_86.047)),oklch(70.5%_0.213_47.604)))]",
25
+ "gradient-purple": "[--psm-fill:var(--zui-password-strength-meter-gradient-purple-fill,var(--zui-color-purple,linear-gradient(90deg,oklch(62.7%_0.265_303.9)),oklch(65.6%_0.241_354.308)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-purple-fill-dark,var(--zui-color-purple-dark,linear-gradient(90deg,oklch(62.7%_0.265_303.9)),oklch(65.6%_0.241_354.308)))]",
26
+ "gradient-teal": "[--psm-fill:var(--zui-password-strength-meter-gradient-teal-fill,var(--zui-color-teal,linear-gradient(90deg,oklch(70.4%_0.14_182.503)),oklch(71.5%_0.143_215.221)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-teal-fill-dark,var(--zui-color-teal-dark,linear-gradient(90deg,oklch(70.4%_0.14_182.503)),oklch(71.5%_0.143_215.221)))]",
27
+ "gradient-indigo": "[--psm-fill:var(--zui-password-strength-meter-gradient-indigo-fill,var(--zui-color-indigo,linear-gradient(90deg,oklch(58.5%_0.233_277.117)),oklch(62.7%_0.265_303.9)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-indigo-fill-dark,var(--zui-color-indigo-dark,linear-gradient(90deg,oklch(58.5%_0.233_277.117)),oklch(62.7%_0.265_303.9)))]",
28
+ "gradient-pink": "[--psm-fill:var(--zui-password-strength-meter-gradient-pink-fill,var(--zui-color-pink,linear-gradient(90deg,oklch(65.6%_0.241_354.308)),oklch(64.5%_0.246_16.439)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-pink-fill-dark,var(--zui-color-pink-dark,linear-gradient(90deg,oklch(65.6%_0.241_354.308)),oklch(64.5%_0.246_16.439)))]",
29
+ "gradient-orange": "[--psm-fill:var(--zui-password-strength-meter-gradient-orange-fill,var(--zui-color-orange,linear-gradient(90deg,oklch(70.5%_0.213_47.604)),oklch(63.7%_0.237_25.331)))] dark:[--psm-fill:var(--zui-password-strength-meter-gradient-orange-fill-dark,var(--zui-color-orange-dark,linear-gradient(90deg,oklch(70.5%_0.213_47.604)),oklch(63.7%_0.237_25.331)))]",
30
+ blue: "[--psm-fill:var(--zui-password-strength-meter-blue-fill,var(--zui-color-blue,#2563eb))] dark:[--psm-fill:var(--zui-password-strength-meter-blue-fill-dark,var(--zui-color-blue-dark,#3b82f6))]",
31
+ cyan: "[--psm-fill:var(--zui-password-strength-meter-cyan-fill,var(--zui-color-cyan,#0891b2))] dark:[--psm-fill:var(--zui-password-strength-meter-cyan-fill-dark,var(--zui-color-cyan-dark,#22d3ee))]",
32
+ green: "[--psm-fill:var(--zui-password-strength-meter-green-fill,var(--zui-color-green,#16a34a))] dark:[--psm-fill:var(--zui-password-strength-meter-green-fill-dark,var(--zui-color-green-dark,#22c55e))]",
33
+ lime: "[--psm-fill:var(--zui-password-strength-meter-lime-fill,var(--zui-color-lime,#65a30d))] dark:[--psm-fill:var(--zui-password-strength-meter-lime-fill-dark,var(--zui-color-lime-dark,#a3e635))]",
34
+ mint: "[--psm-fill:var(--zui-password-strength-meter-mint-fill,var(--zui-color-mint,#10b981))] dark:[--psm-fill:var(--zui-password-strength-meter-mint-fill-dark,var(--zui-color-mint-dark,#6ee7b7))]",
35
+ ocean: "[--psm-fill:var(--zui-password-strength-meter-ocean-fill,var(--zui-color-ocean,#0284c7))] dark:[--psm-fill:var(--zui-password-strength-meter-ocean-fill-dark,var(--zui-color-ocean-dark,#38bdf8))]",
36
+ sapphire: "[--psm-fill:var(--zui-password-strength-meter-sapphire-fill,var(--zui-color-sapphire,#1d4ed8))] dark:[--psm-fill:var(--zui-password-strength-meter-sapphire-fill-dark,var(--zui-color-sapphire-dark,#60a5fa))]",
37
+ lavender: "[--psm-fill:var(--zui-password-strength-meter-lavender-fill,var(--zui-color-lavender,#8b5cf6))] dark:[--psm-fill:var(--zui-password-strength-meter-lavender-fill-dark,var(--zui-color-lavender-dark,#a78bfa))]",
38
+ ruby: "[--psm-fill:var(--zui-password-strength-meter-ruby-fill,var(--zui-color-ruby,#be123c))] dark:[--psm-fill:var(--zui-password-strength-meter-ruby-fill-dark,var(--zui-color-ruby-dark,#fb7185))]",
39
+ red: "[--psm-fill:var(--zui-password-strength-meter-red-fill,var(--zui-color-red,#dc2626))] dark:[--psm-fill:var(--zui-password-strength-meter-red-fill-dark,var(--zui-color-red-dark,#ef4444))]",
40
+ slate: "[--psm-fill:var(--zui-password-strength-meter-slate-fill,var(--zui-color-slate,#475569))] dark:[--psm-fill:var(--zui-password-strength-meter-slate-fill-dark,var(--zui-color-slate-dark,#64748b))]",
41
+ zinc: "[--psm-fill:var(--zui-password-strength-meter-zinc-fill,var(--zui-color-zinc,#52525b))] dark:[--psm-fill:var(--zui-password-strength-meter-zinc-fill-dark,var(--zui-color-zinc-dark,#71717a))]",
42
+ stone: "[--psm-fill:var(--zui-password-strength-meter-stone-fill,var(--zui-color-stone,#57534e))] dark:[--psm-fill:var(--zui-password-strength-meter-stone-fill-dark,var(--zui-color-stone-dark,#78716c))]",
43
+ royal: "[--psm-fill:var(--zui-password-strength-meter-royal-fill,var(--zui-color-royal,#4338ca))] dark:[--psm-fill:var(--zui-password-strength-meter-royal-fill-dark,var(--zui-color-royal-dark,#818cf8))]",
44
+ electric: "[--psm-fill:var(--zui-password-strength-meter-electric-fill,var(--zui-color-electric,#0ea5e9))] dark:[--psm-fill:var(--zui-password-strength-meter-electric-fill-dark,var(--zui-color-electric-dark,#38bdf8))]",
45
+ forest: "[--psm-fill:var(--zui-password-strength-meter-forest-fill,var(--zui-color-forest,#166534))] dark:[--psm-fill:var(--zui-password-strength-meter-forest-fill-dark,var(--zui-color-forest-dark,#4ade80))]",
46
+ sunset: "[--psm-fill:var(--zui-password-strength-meter-sunset-fill,var(--zui-color-sunset,#ea580c))] dark:[--psm-fill:var(--zui-password-strength-meter-sunset-fill-dark,var(--zui-color-sunset-dark,#fb923c))]",
47
+ magenta: "[--psm-fill:var(--zui-password-strength-meter-magenta-fill,var(--zui-color-magenta,#c026d3))] dark:[--psm-fill:var(--zui-password-strength-meter-magenta-fill-dark,var(--zui-color-magenta-dark,#e879f9))]",
48
+ crimson: "[--psm-fill:var(--zui-password-strength-meter-crimson-fill,var(--zui-color-crimson,#b91c1c))] dark:[--psm-fill:var(--zui-password-strength-meter-crimson-fill-dark,var(--zui-color-crimson-dark,#f87171))]",
49
+ aqua: "[--psm-fill:var(--zui-password-strength-meter-aqua-fill,var(--zui-color-aqua,#0f766e))] dark:[--psm-fill:var(--zui-password-strength-meter-aqua-fill-dark,var(--zui-color-aqua-dark,#2dd4bf))]",
50
+ plum: "[--psm-fill:var(--zui-password-strength-meter-plum-fill,var(--zui-color-plum,#7e22ce))] dark:[--psm-fill:var(--zui-password-strength-meter-plum-fill-dark,var(--zui-color-plum-dark,#c084fc))]"
51
+ };
52
+ var zuiPasswordStrengthMeterSizes = {
53
+ xs: "text-[0.65rem]",
54
+ sm: "text-xs",
55
+ md: "text-sm",
56
+ lg: "text-base",
57
+ xl: "text-lg"
58
+ };
59
+ var zuiPasswordStrengthMeterShapes = {
60
+ flat: "rounded-none",
61
+ rounded: "rounded-md",
62
+ pill: "rounded-full"
63
+ };
64
+ var zuiPasswordStrengthMeterTrackBase = "relative w-full overflow-hidden bg-[var(--zui-password-strength-meter-track-bg,var(--zui-surface-muted,#0000001a))] dark:bg-[var(--zui-password-strength-meter-track-bg-dark,var(--zui-surface-muted-dark,#ffffff1a))]";
65
+ var zuiPasswordStrengthMeterTrackSizes = {
66
+ xs: "h-1",
67
+ sm: "h-1.5",
68
+ md: "h-2",
69
+ lg: "h-3",
70
+ xl: "h-4"
71
+ };
72
+ var zuiPasswordStrengthMeterBarBase = "h-full w-full origin-left rounded-[inherit]";
73
+ var zuiPasswordStrengthMeterBarSegmented = {
74
+ true: "[background:var(--zui-password-strength-meter-bar-bg-segmented,linear-gradient(90deg,var(--zui-status-error,oklch(45.5%_0.188_13.697))_0 calc(100%/5),var(--zui-color-orange,oklch(47%_0.157_37.304))_0 calc(200%/5),var(--zui-color-yellow,oklch(47.6%_0.114_61.907))_0 calc(300%/5),var(--zui-color-emerald,oklch(43.2%_0.095_166.913))_0 calc(400%/5),var(--zui-color-indigo,oklch(39.8%_0.195_277.366))_0))] dark:[background:var(--zui-password-strength-meter-bar-bg-segmented-dark,linear-gradient(90deg,var(--zui-status-error-dark,oklch(71.2%_0.194_13.428))_0 calc(100%/5),var(--zui-color-orange-dark,oklch(75%_0.183_55.934))_0 calc(200%/5),var(--zui-color-yellow-dark,oklch(85.2%_0.199_91.936))_0 calc(300%/5),var(--zui-color-emerald-dark,oklch(76.5%_0.177_163.223))_0 calc(400%/5),var(--zui-color-indigo-dark,oklch(67.3%_0.182_276.935))_0))]",
75
+ false: "[background:var(--psm-fill)]"
76
+ };
77
+
78
+ exports.zuiPasswordStrengthMeterAppearances = zuiPasswordStrengthMeterAppearances;
79
+ exports.zuiPasswordStrengthMeterBarBase = zuiPasswordStrengthMeterBarBase;
80
+ exports.zuiPasswordStrengthMeterBarSegmented = zuiPasswordStrengthMeterBarSegmented;
81
+ exports.zuiPasswordStrengthMeterBase = zuiPasswordStrengthMeterBase;
82
+ exports.zuiPasswordStrengthMeterShapes = zuiPasswordStrengthMeterShapes;
83
+ exports.zuiPasswordStrengthMeterSizes = zuiPasswordStrengthMeterSizes;
84
+ exports.zuiPasswordStrengthMeterTrackBase = zuiPasswordStrengthMeterTrackBase;
85
+ exports.zuiPasswordStrengthMeterTrackSizes = zuiPasswordStrengthMeterTrackSizes;
86
+ //# sourceMappingURL=chunk-46HJFCP7.js.map
87
+ //# sourceMappingURL=chunk-46HJFCP7.js.map