@juspay/svelte-ui-components 4.27.6 → 4.28.0

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 (164) hide show
  1. package/README.md +140 -36
  2. package/dist/Animations/ModalAnimation.svelte +15 -1
  3. package/dist/Animations/OverlayAnimation.svelte +7 -1
  4. package/dist/AreaChart/AreaChart.svelte +366 -85
  5. package/dist/AspectRatio/AspectRatio.svelte +51 -0
  6. package/dist/AspectRatio/AspectRatio.svelte.d.ts +3 -0
  7. package/dist/AspectRatio/properties.d.ts +27 -0
  8. package/dist/AspectRatio/properties.js +1 -0
  9. package/dist/Banner/Banner.svelte +10 -4
  10. package/dist/Banner/properties.d.ts +8 -0
  11. package/dist/BarChart/BarChart.svelte +156 -49
  12. package/dist/Book/Book.svelte +14 -1
  13. package/dist/BrandLoader/BrandLoader.svelte +76 -12
  14. package/dist/Button/Button.svelte +56 -11
  15. package/dist/Calendar/Calendar.svelte +88 -61
  16. package/dist/Card/Card.svelte +1 -1
  17. package/dist/Carousel/Carousel.svelte +6 -3
  18. package/dist/ChatComposer/ChatComposer.svelte +54 -4
  19. package/dist/ChatComposer/dictationState.d.ts +15 -0
  20. package/dist/ChatComposer/dictationState.js +9 -0
  21. package/dist/ChatComposer/properties.d.ts +28 -1
  22. package/dist/ChatMessage/ChatMessage.svelte +27 -1
  23. package/dist/CheckListItem/CheckListItem.svelte +3 -3
  24. package/dist/Checkbox/Checkbox.svelte +84 -3
  25. package/dist/Checkbox/properties.d.ts +45 -13
  26. package/dist/ChipInput/ChipInput.svelte +70 -3
  27. package/dist/ChipInput/properties.d.ts +16 -0
  28. package/dist/Choicebox/Choicebox.svelte +156 -1
  29. package/dist/Choicebox/group.d.ts +63 -0
  30. package/dist/Choicebox/group.js +127 -0
  31. package/dist/Choicebox/properties.d.ts +46 -0
  32. package/dist/ColorPicker/ColorPicker.svelte +169 -20
  33. package/dist/ColorPicker/properties.d.ts +16 -0
  34. package/dist/Combobox/Combobox.svelte +87 -25
  35. package/dist/Combobox/properties.d.ts +23 -0
  36. package/dist/CommandMenu/CommandMenu.svelte +27 -11
  37. package/dist/ContextMenu/ContextMenu.svelte +31 -37
  38. package/dist/DateRangePicker/DateRangePicker.svelte +171 -73
  39. package/dist/DeltaIndicator/DeltaIndicator.svelte +3 -3
  40. package/dist/Draggable/Draggable.svelte +12 -7
  41. package/dist/DualAxisBarChart/DualAxisBarChart.svelte +11 -4
  42. package/dist/EmptyState/EmptyState.svelte +1 -1
  43. package/dist/FileDropzoneTrigger/FileDropzoneTrigger.svelte +1 -1
  44. package/dist/FileInput/FileInput.svelte +50 -1
  45. package/dist/FileInput/properties.d.ts +7 -0
  46. package/dist/FunnelChart/FunnelChart.svelte +40 -12
  47. package/dist/FunnelChart/properties.d.ts +7 -1
  48. package/dist/Gallery/Gallery.svelte +20 -13
  49. package/dist/Gallery/properties.d.ts +8 -0
  50. package/dist/GridItem/GridItem.svelte +31 -1
  51. package/dist/HITL/HITL.svelte +35 -9
  52. package/dist/Icon/Icon.svelte +19 -3
  53. package/dist/Input/Input.svelte +24 -10
  54. package/dist/Input/properties.d.ts +37 -1
  55. package/dist/InputButton/InputButton.svelte +86 -11
  56. package/dist/InputButton/properties.d.ts +10 -1
  57. package/dist/Label/Label.svelte +54 -0
  58. package/dist/Label/Label.svelte.d.ts +3 -0
  59. package/dist/Label/properties.d.ts +26 -0
  60. package/dist/Label/properties.js +1 -0
  61. package/dist/LineChart/LineChart.svelte +385 -94
  62. package/dist/ListItem/ListItem.svelte +121 -15
  63. package/dist/Loader/Loader.svelte +22 -2
  64. package/dist/LoadingDots/LoadingDots.svelte +21 -0
  65. package/dist/MediaUpload/MediaUpload.svelte +13 -3
  66. package/dist/Menu/Menu.svelte +56 -28
  67. package/dist/Modal/Modal.svelte +77 -42
  68. package/dist/Pagination/Pagination.svelte +9 -2
  69. package/dist/Phone/Phone.svelte +4 -0
  70. package/dist/PieChart/PieChart.svelte +282 -38
  71. package/dist/PieChart/properties.d.ts +9 -0
  72. package/dist/Pill/Pill.svelte +14 -5
  73. package/dist/Progress/Progress.svelte +20 -0
  74. package/dist/Radio/Radio.svelte +58 -1
  75. package/dist/Radio/properties.d.ts +23 -0
  76. package/dist/RatingGroup/RatingGroup.svelte +283 -0
  77. package/dist/RatingGroup/RatingGroup.svelte.d.ts +4 -0
  78. package/dist/RatingGroup/properties.d.ts +73 -0
  79. package/dist/RatingGroup/properties.js +1 -0
  80. package/dist/RelativeTime/RelativeTime.svelte +1 -1
  81. package/dist/SankeyChart/SankeyChart.svelte +272 -50
  82. package/dist/SankeyChart/properties.d.ts +9 -0
  83. package/dist/Scroller/Scroller.svelte +37 -2
  84. package/dist/Select/Select.svelte +166 -46
  85. package/dist/Select/properties.d.ts +7 -0
  86. package/dist/Separator/Separator.svelte +48 -0
  87. package/dist/Separator/Separator.svelte.d.ts +3 -0
  88. package/dist/Separator/properties.d.ts +22 -0
  89. package/dist/Separator/properties.js +1 -0
  90. package/dist/Sheet/Sheet.svelte +60 -21
  91. package/dist/Shimmer/Shimmer.svelte +15 -0
  92. package/dist/Slider/Slider.svelte +87 -6
  93. package/dist/Slider/properties.d.ts +26 -0
  94. package/dist/Snippet/Snippet.svelte +4 -0
  95. package/dist/Snippet/copyState.svelte.d.ts +13 -1
  96. package/dist/Snippet/copyState.svelte.js +27 -1
  97. package/dist/Snippet/properties.d.ts +7 -0
  98. package/dist/SoundKit/SoundKit.js +9 -8
  99. package/dist/SplitInput/SplitInput.svelte +68 -2
  100. package/dist/SplitInput/properties.d.ts +23 -0
  101. package/dist/StatCard/StatCard.svelte +6 -6
  102. package/dist/Status/Status.svelte +2 -2
  103. package/dist/Stepper/Step.svelte +19 -6
  104. package/dist/Stepper/Stepper.svelte +108 -35
  105. package/dist/Table/BuiltinCell.svelte +2 -2
  106. package/dist/Table/Table.svelte +373 -55
  107. package/dist/Table/properties.d.ts +134 -3
  108. package/dist/Tabs/Tabs.svelte +263 -65
  109. package/dist/Tabs/properties.d.ts +23 -0
  110. package/dist/TaskList/TaskList.svelte +14 -5
  111. package/dist/ThemeSwitcher/ThemeSwitcher.svelte +23 -0
  112. package/dist/ThinkingIndicator/ThinkingIndicator.svelte +13 -5
  113. package/dist/Toast/Toast.svelte +27 -2
  114. package/dist/Toggle/Toggle.svelte +79 -7
  115. package/dist/Toggle/Toggle.svelte.d.ts +1 -1
  116. package/dist/Toggle/properties.d.ts +30 -7
  117. package/dist/ToolCallLog/ToolCallLog.svelte +59 -21
  118. package/dist/ToolCallLog/properties.d.ts +10 -0
  119. package/dist/Toolbar/Toolbar.svelte +1 -1
  120. package/dist/Tooltip/Tooltip.svelte +20 -2
  121. package/dist/Tooltip/tooltip-action.js +39 -4
  122. package/dist/TypewriterText/TypewriterText.svelte +34 -2
  123. package/dist/TypewriterText/properties.d.ts +18 -5
  124. package/dist/_chart/ChartContainer.svelte +12 -0
  125. package/dist/_chart/ChartTooltip.svelte +18 -4
  126. package/dist/_chart/Legend.svelte +21 -0
  127. package/dist/_chart/Legend.svelte.d.ts +15 -0
  128. package/dist/_chart/geometry.d.ts +54 -1
  129. package/dist/_chart/geometry.js +122 -14
  130. package/dist/_chart/interactions.d.ts +5 -1
  131. package/dist/_chart/interactions.js +9 -5
  132. package/dist/_chart/scales.js +16 -0
  133. package/dist/_chart/temporal.d.ts +45 -0
  134. package/dist/_chart/temporal.js +116 -0
  135. package/dist/_field/description.d.ts +50 -0
  136. package/dist/_field/description.js +51 -0
  137. package/dist/_interaction/dismissal.d.ts +67 -0
  138. package/dist/_interaction/dismissal.js +137 -0
  139. package/dist/_interaction/focus.d.ts +73 -0
  140. package/dist/_interaction/focus.js +143 -0
  141. package/dist/assets/star.svg +5 -0
  142. package/dist/index.d.ts +13 -1
  143. package/dist/index.js +21 -1
  144. package/dist/reduced-motion.svelte.d.ts +37 -0
  145. package/dist/reduced-motion.svelte.js +44 -0
  146. package/dist/styles/theme-dark.css +778 -0
  147. package/dist/types.d.ts +4 -2
  148. package/dist/utils.d.ts +62 -1
  149. package/dist/utils.js +80 -21
  150. package/dist-codemod/{bin.js → codemod/bin.js} +13 -2
  151. package/dist-codemod/{cli.js → codemod/cli.js} +48 -3
  152. package/dist-codemod/codemod/migrate-audit.js +395 -0
  153. package/dist-codemod/codemod/migration-assets/legacy-display.css +120 -0
  154. package/dist-codemod/codemod/migration-assets/legacy-palette.css +106 -0
  155. package/dist-codemod/codemod/migration-assets/wc-display.json +492 -0
  156. package/dist-codemod/migrate/analyze.js +804 -0
  157. package/dist-codemod/migrate/chart-tooltip-selector.js +301 -0
  158. package/dist-wc/index.js +13992 -4323
  159. package/package.json +13 -6
  160. package/dist/Modal/focus-trap.d.ts +0 -42
  161. package/dist/Modal/focus-trap.js +0 -57
  162. /package/dist-codemod/{legacy-pairs.js → codemod/legacy-pairs.js} +0 -0
  163. /package/dist-codemod/{transform.js → codemod/transform.js} +0 -0
  164. /package/dist-codemod/{wc-children.js → codemod/wc-children.js} +0 -0
@@ -88,16 +88,21 @@
88
88
  flex: var(--step-container-flex, 0 1 auto);
89
89
  }
90
90
 
91
- /* status-completed */
91
+ /* status-completed: #24aa5a measured 2.89:1 as label text on the #fafafa demo
92
+ background and 3.01:1 behind the white step number — the same one-hue,
93
+ two-roles failure as in-progress below. #1a7a44 clears both (5.14:1 text,
94
+ 5.37:1 white-on-it) and keeps the dark-mode override two blocks down
95
+ (unchanged, already legible at 5.72:1) from silently regressing now that
96
+ this literal no longer doubles as the dark-theme fallback too. */
92
97
  .status-completed {
93
- --step-text-color: var(--step-text-completed-color, #24aa5a);
98
+ --step-text-color: var(--step-text-completed-color, #1a7a44);
94
99
  --stepper-separator-background-image-color: var(
95
100
  --stepper-separator-background-image-completed-color,
96
- #24aa5a
101
+ #1a7a44
97
102
  );
98
103
  --step-index-container-background-color: var(
99
104
  --step-index-container-completed-background-color,
100
- #24aa5a
105
+ #1a7a44
101
106
  );
102
107
  /* No border existed for any status before this, so every one of these
103
108
  per-status hooks falls back to `none` — byte-identical for a consumer
@@ -105,6 +110,32 @@
105
110
  --step-index-container-border: var(--step-index-container-completed-border, none);
106
111
  }
107
112
 
113
+ /* Step.svelte keeps its own copy of every status class (`class:status-completed`
114
+ etc. on its own root <div>) so a bare, Stepper-less <Step> can theme itself —
115
+ see that file's comment. That copy sets the SAME custom properties directly
116
+ on the very element (or, for .step-text/.step-index-container below, the
117
+ parent of the very element) the color actually renders on. A directly
118
+ cascaded value always beats one merely inherited from an ancestor, no matter
119
+ how specific the ancestor's rule is — so Step's copy silently outranked every
120
+ literal set above for a Stepper-wrapped step, and the fix above alone never
121
+ reached the screen (verified by grepping both files: Step.svelte lines
122
+ 140-174 duplicate exactly these three custom properties with the old,
123
+ failing literals). These two rules break the tie: :global() lets the
124
+ selector reach past Step's own component scope to .step-text/
125
+ .step-index-container directly, and three chained classes there
126
+ out-specificity Step's own single-class rule on each — while still
127
+ deferring to the identical --step-text-completed-color /
128
+ --step-index-container-completed-background-color hooks both files already
129
+ expose, so a consumer override behaves exactly as it did before this fix. */
130
+ .status-completed :global(.step-text) {
131
+ color: var(--step-text-completed-color, #1a7a44);
132
+ }
133
+
134
+ .status-completed :global(.step-index-container),
135
+ .status-completed :global(.step-icon-container) {
136
+ background-color: var(--step-index-container-completed-background-color, #1a7a44);
137
+ }
138
+
108
139
  /* status-active */
109
140
  .status-active {
110
141
  --step-text-color: var(--step-text-active-color, #2f3841);
@@ -119,36 +150,87 @@
119
150
  --step-index-container-border: var(--step-index-container-active-border, none);
120
151
  }
121
152
 
122
- /* status-pending: no override — falls through to #798fa5cc grey (and no border) default in Step.svelte */
153
+ /* status-pending: previously had no override at all, so it fell through to
154
+ Step.svelte's neutral #798fa5cc default — an alpha-blended blue-grey that
155
+ measured 2.44:1 as label text and 2.55:1 behind the white step number on
156
+ the #fafafa demo background, the same one-hue-fails-both-roles shape as
157
+ in-progress below (alpha compositing only makes it worse). #55627a is an
158
+ opaque step down the same blue-grey family and clears both roles. */
159
+ .status-pending {
160
+ --step-text-color: var(--step-text-pending-color, #55627a);
161
+ --stepper-separator-background-image-color: var(
162
+ --stepper-separator-background-image-pending-color,
163
+ #55627a
164
+ );
165
+ --step-index-container-background-color: var(
166
+ --step-index-container-pending-background-color,
167
+ #55627a
168
+ );
169
+ --step-index-container-border: var(--step-index-container-pending-border, none);
170
+ }
123
171
 
124
- /* status-failure */
172
+ /* status-failure: #e53935 measured 4.05:1 as label text and 4.23:1 behind the
173
+ white step number on the #fafafa demo background — both just under the
174
+ 4.5:1 minimum for this component's 12px/14px (non-large) text. #c62828
175
+ clears both (5.39:1 text, 5.62:1 white-on-it). */
125
176
  .status-failure {
126
- --step-text-color: var(--step-text-failure-color, #e53935);
177
+ --step-text-color: var(--step-text-failure-color, #c62828);
127
178
  --stepper-separator-background-image-color: var(
128
179
  --stepper-separator-background-image-failure-color,
129
- #e53935
180
+ #c62828
130
181
  );
131
182
  --step-index-container-background-color: var(
132
183
  --step-index-container-failure-background-color,
133
- var(--stepper-status-failure-color, #e53935)
184
+ var(--stepper-status-failure-color, #c62828)
134
185
  );
135
186
  --step-index-container-border: var(--step-index-container-failure-border, none);
136
187
  }
137
188
 
138
- /* status-in-progress */
189
+ /* Same Step.svelte own-declaration-beats-inheritance tie as status-completed
190
+ above (Step.svelte lines 158-164 duplicate these with the old #e53935). */
191
+ .status-failure :global(.step-text) {
192
+ color: var(--step-text-failure-color, #c62828);
193
+ }
194
+
195
+ .status-failure :global(.step-index-container),
196
+ .status-failure :global(.step-icon-container) {
197
+ background-color: var(
198
+ --step-index-container-failure-background-color,
199
+ var(--stepper-status-failure-color, #c62828)
200
+ );
201
+ }
202
+
203
+ /* status-in-progress: the reported defect. #f59e0b measured 2.06:1 as label
204
+ text on the #fafafa demo background and 2.15:1 behind the white step
205
+ number — one hue asked to do both jobs, failing both. #92400e (a darker
206
+ amber) clears both roles (6.79:1 text, 7.09:1 white-on-it). */
139
207
  .status-in-progress {
140
- --step-text-color: var(--step-text-in-progress-color, #f59e0b);
208
+ --step-text-color: var(--step-text-in-progress-color, #92400e);
141
209
  --stepper-separator-background-image-color: var(
142
210
  --stepper-separator-background-image-in-progress-color,
143
- #f59e0b
211
+ #92400e
144
212
  );
145
213
  --step-index-container-background-color: var(
146
214
  --step-index-container-in-progress-background-color,
147
- var(--stepper-status-in-progress-color, #f59e0b)
215
+ var(--stepper-status-in-progress-color, #92400e)
148
216
  );
149
217
  --step-index-container-border: var(--step-index-container-in-progress-border, none);
150
218
  }
151
219
 
220
+ /* Same Step.svelte own-declaration-beats-inheritance tie as status-completed
221
+ above (Step.svelte lines 167-173 duplicate these with the old #f59e0b). */
222
+ .status-in-progress :global(.step-text) {
223
+ color: var(--step-text-in-progress-color, #92400e);
224
+ }
225
+
226
+ .status-in-progress :global(.step-index-container),
227
+ .status-in-progress :global(.step-icon-container) {
228
+ background-color: var(
229
+ --step-index-container-in-progress-background-color,
230
+ var(--stepper-status-in-progress-color, #92400e)
231
+ );
232
+ }
233
+
152
234
  /* status-muted: a smaller, subtly-tinted marker for a de-emphasized or
153
235
  supplementary step (e.g. an informational marker riding alongside a
154
236
  primary rail). New opt-in status value — none of the statuses above are
@@ -178,27 +260,18 @@
178
260
  --step-index-font-size: var(--step-index-muted-font-size, 10px);
179
261
  }
180
262
 
181
- :global([theme='dark']) .status-failure {
182
- --step-text-color: var(--step-text-failure-color, #ef5350);
183
- --stepper-separator-background-image-color: var(
184
- --stepper-separator-background-image-failure-color,
185
- #ef5350
186
- );
187
- --step-index-container-background-color: var(
188
- --step-index-container-failure-background-color,
189
- var(--stepper-status-failure-color, #ef5350)
190
- );
191
- }
263
+ /* Stepper's dark colours used to live here, as
264
+ `:global([data-theme='dark']) .status-… :global(.step-text)`. That works in
265
+ the Svelte build, where this stylesheet is in the document and can see
266
+ <html data-theme="dark">, and it is dead in <sui-stepper>: the same
267
+ stylesheet is injected INTO the shadow root, and a selector there cannot
268
+ match an ancestor outside its own tree. Measured, not assumed -- the custom
269
+ element rendered the light literals on a dark page, #92400e in-progress
270
+ label at 1.68:1.
192
271
 
193
- :global([theme='dark']) .status-in-progress {
194
- --step-text-color: var(--step-text-in-progress-color, #fbbf24);
195
- --stepper-separator-background-image-color: var(
196
- --stepper-separator-background-image-in-progress-color,
197
- #fbbf24
198
- );
199
- --step-index-container-background-color: var(
200
- --step-index-container-in-progress-background-color,
201
- var(--stepper-status-in-progress-color, #fbbf24)
202
- );
203
- }
272
+ Every one of those rules resolved the SAME custom property the light rule
273
+ above does, differing only in its fallback literal, so setting that property
274
+ once in the dark token layer produces an identical result through the rule
275
+ that is already there -- and a custom property, unlike a selector, inherits
276
+ across the shadow boundary. See src/lib/styles/theme-dark.css. */
204
277
  </style>
@@ -650,7 +650,7 @@
650
650
  align-items: center;
651
651
  justify-content: center;
652
652
  background-color: var(--table-cell-thumb-placeholder-background, #f3f4f6);
653
- color: var(--table-cell-thumb-placeholder-color, #6b7280);
653
+ color: var(--table-cell-thumb-placeholder-color, #4b5563);
654
654
  font-size: var(--table-cell-thumb-placeholder-font-size, 14px);
655
655
  font-weight: 600;
656
656
  line-height: 1;
@@ -682,7 +682,7 @@
682
682
  }
683
683
 
684
684
  .builtin-trend-up {
685
- color: var(--table-trend-up-color, #16a34a);
685
+ color: var(--table-trend-up-color, #166534);
686
686
  }
687
687
 
688
688
  .builtin-trend-down {