tharaday 0.8.4 → 0.8.7

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 (146) hide show
  1. package/dist/ds.js +74 -80
  2. package/dist/ds.umd.cjs +1 -1
  3. package/dist/{components → src/components}/Accordion/Accordion.d.ts +1 -0
  4. package/dist/src/components/Accordion/Accordion.stories.d.ts +14 -0
  5. package/dist/src/components/Accordion/Accordion.types.d.ts +18 -0
  6. package/dist/{components → src/components}/Avatar/Avatar.d.ts +1 -0
  7. package/dist/src/components/Avatar/Avatar.stories.d.ts +14 -0
  8. package/dist/src/components/Avatar/Avatar.types.d.ts +10 -0
  9. package/dist/{components → src/components}/Badge/Badge.d.ts +1 -0
  10. package/dist/src/components/Badge/Badge.stories.d.ts +33 -0
  11. package/dist/src/components/Badge/Badge.types.d.ts +10 -0
  12. package/dist/{components → src/components}/Box/Box.d.ts +1 -0
  13. package/dist/src/components/Box/Box.stories.d.ts +38 -0
  14. package/dist/src/components/Box/Box.types.d.ts +52 -0
  15. package/dist/{components → src/components}/Box/helpers/getSpacingStyles.d.ts +2 -2
  16. package/dist/{components → src/components}/Breadcrumbs/Breadcrumbs.d.ts +1 -0
  17. package/dist/src/components/Breadcrumbs/Breadcrumbs.stories.d.ts +13 -0
  18. package/dist/src/components/Breadcrumbs/Breadcrumbs.types.d.ts +11 -0
  19. package/dist/{components → src/components}/Button/Button.d.ts +1 -0
  20. package/dist/src/components/Button/Button.stories.d.ts +22 -0
  21. package/dist/src/components/Button/Button.types.d.ts +12 -0
  22. package/dist/{components → src/components}/Card/Card.d.ts +1 -0
  23. package/dist/src/components/Card/Card.stories.d.ts +27 -0
  24. package/dist/src/components/Card/Card.types.d.ts +16 -0
  25. package/dist/{components → src/components}/Checkbox/Checkbox.d.ts +1 -0
  26. package/dist/src/components/Checkbox/Checkbox.stories.d.ts +17 -0
  27. package/dist/src/components/Checkbox/Checkbox.types.d.ts +7 -0
  28. package/dist/{components → src/components}/DatePicker/DatePicker.d.ts +1 -0
  29. package/dist/src/components/DatePicker/DatePicker.stories.d.ts +15 -0
  30. package/dist/src/components/DatePicker/DatePicker.types.d.ts +11 -0
  31. package/dist/{components → src/components}/Divider/Divider.d.ts +1 -0
  32. package/dist/src/components/Divider/Divider.stories.d.ts +15 -0
  33. package/dist/src/components/Divider/Divider.types.d.ts +10 -0
  34. package/dist/{components → src/components}/Drawer/Drawer.d.ts +2 -1
  35. package/dist/src/components/Drawer/Drawer.stories.d.ts +29 -0
  36. package/dist/src/components/Drawer/Drawer.types.d.ts +15 -0
  37. package/dist/{components → src/components}/Dropdown/Dropdown.d.ts +1 -0
  38. package/dist/src/components/Dropdown/Dropdown.stories.d.ts +12 -0
  39. package/dist/src/components/Dropdown/Dropdown.types.d.ts +24 -0
  40. package/dist/{components → src/components}/EmptyState/EmptyState.d.ts +1 -0
  41. package/dist/src/components/EmptyState/EmptyState.stories.d.ts +22 -0
  42. package/dist/src/components/EmptyState/EmptyState.types.d.ts +10 -0
  43. package/dist/{components → src/components}/Header/Header.d.ts +1 -0
  44. package/dist/src/components/Header/Header.stories.d.ts +20 -0
  45. package/dist/src/components/Header/Header.types.d.ts +16 -0
  46. package/dist/{components → src/components}/Input/Input.d.ts +1 -0
  47. package/dist/src/components/Input/Input.stories.d.ts +32 -0
  48. package/dist/src/components/Input/Input.types.d.ts +10 -0
  49. package/dist/{components → src/components}/List/List.d.ts +2 -2
  50. package/dist/src/components/List/List.stories.d.ts +25 -0
  51. package/dist/{components → src/components}/List/List.types.d.ts +3 -3
  52. package/dist/{components → src/components}/List/ListItem.d.ts +1 -1
  53. package/dist/{components → src/components}/List/ListItem.types.d.ts +1 -1
  54. package/dist/{components → src/components}/Loader/Loader.d.ts +1 -0
  55. package/dist/src/components/Loader/Loader.stories.d.ts +25 -0
  56. package/dist/src/components/Loader/Loader.types.d.ts +8 -0
  57. package/dist/{components → src/components}/Modal/Modal.d.ts +2 -1
  58. package/dist/src/components/Modal/Modal.stories.d.ts +28 -0
  59. package/dist/src/components/Modal/Modal.types.d.ts +12 -0
  60. package/dist/{components → src/components}/NavBar/NavBar.d.ts +1 -0
  61. package/dist/src/components/NavBar/NavBar.stories.d.ts +8 -0
  62. package/dist/src/components/NavBar/NavBar.types.d.ts +38 -0
  63. package/dist/{components → src/components}/Notification/Notification.d.ts +1 -0
  64. package/dist/src/components/Notification/Notification.stories.d.ts +26 -0
  65. package/dist/src/components/Notification/Notification.types.d.ts +9 -0
  66. package/dist/{components → src/components}/Pagination/Pagination.d.ts +1 -0
  67. package/dist/src/components/Pagination/Pagination.stories.d.ts +21 -0
  68. package/dist/src/components/Pagination/Pagination.types.d.ts +34 -0
  69. package/dist/{components → src/components}/Popover/Popover.d.ts +1 -0
  70. package/dist/src/components/Popover/Popover.stories.d.ts +21 -0
  71. package/dist/src/components/Popover/Popover.types.d.ts +11 -0
  72. package/dist/{components → src/components}/ProgressBar/ProgressBar.d.ts +1 -0
  73. package/dist/src/components/ProgressBar/ProgressBar.stories.d.ts +32 -0
  74. package/dist/src/components/ProgressBar/ProgressBar.types.d.ts +12 -0
  75. package/dist/{components → src/components}/RadioButton/RadioButton.d.ts +1 -0
  76. package/dist/src/components/RadioButton/RadioButton.stories.d.ts +30 -0
  77. package/dist/src/components/RadioButton/RadioButton.types.d.ts +9 -0
  78. package/dist/{components → src/components}/Select/Select.d.ts +1 -0
  79. package/dist/src/components/Select/Select.stories.d.ts +32 -0
  80. package/dist/src/components/Select/Select.types.d.ts +23 -0
  81. package/dist/{components → src/components}/Skeleton/Skeleton.d.ts +1 -0
  82. package/dist/src/components/Skeleton/Skeleton.stories.d.ts +15 -0
  83. package/dist/src/components/Skeleton/Skeleton.types.d.ts +9 -0
  84. package/dist/{components → src/components}/Slider/Slider.d.ts +1 -0
  85. package/dist/src/components/Slider/Slider.stories.d.ts +23 -0
  86. package/dist/src/components/Slider/Slider.types.d.ts +15 -0
  87. package/dist/{components → src/components}/Stepper/Step.d.ts +1 -0
  88. package/dist/src/components/Stepper/Step.types.d.ts +18 -0
  89. package/dist/{components → src/components}/Stepper/Stepper.d.ts +1 -0
  90. package/dist/src/components/Stepper/Stepper.stories.d.ts +15 -0
  91. package/dist/src/components/Stepper/Stepper.types.d.ts +14 -0
  92. package/dist/{components → src/components}/Stepper/stepper.utils.d.ts +2 -2
  93. package/dist/{components → src/components}/Switch/Switch.d.ts +1 -0
  94. package/dist/src/components/Switch/Switch.stories.d.ts +16 -0
  95. package/dist/src/components/Switch/Switch.types.d.ts +6 -0
  96. package/dist/{components → src/components}/Table/Table.d.ts +1 -0
  97. package/dist/src/components/Table/Table.stories.d.ts +27 -0
  98. package/dist/src/components/Table/Table.types.d.ts +19 -0
  99. package/dist/{components → src/components}/Tabs/Tabs.d.ts +1 -0
  100. package/dist/src/components/Tabs/Tabs.stories.d.ts +19 -0
  101. package/dist/src/components/Tabs/Tabs.types.d.ts +16 -0
  102. package/dist/{components → src/components}/Tag/Tag.d.ts +1 -0
  103. package/dist/src/components/Tag/Tag.stories.d.ts +27 -0
  104. package/dist/src/components/Tag/Tag.types.d.ts +13 -0
  105. package/dist/{components → src/components}/Text/Text.d.ts +1 -0
  106. package/dist/src/components/Text/Text.stories.d.ts +78 -0
  107. package/dist/src/components/Text/Text.types.d.ts +16 -0
  108. package/dist/{components → src/components}/Textarea/Textarea.d.ts +1 -0
  109. package/dist/src/components/Textarea/Textarea.stories.d.ts +32 -0
  110. package/dist/src/components/Textarea/Textarea.types.d.ts +11 -0
  111. package/dist/{components → src/components}/Tooltip/Tooltip.d.ts +1 -0
  112. package/dist/src/components/Tooltip/Tooltip.stories.d.ts +10 -0
  113. package/dist/src/components/Tooltip/Tooltip.types.d.ts +12 -0
  114. package/dist/{components → src/components}/Tree/Tree.d.ts +2 -2
  115. package/dist/src/components/Tree/Tree.stories.d.ts +27 -0
  116. package/dist/{components → src/components}/Tree/Tree.types.d.ts +1 -1
  117. package/dist/{components → src/components}/Tree/TreeItem.d.ts +1 -1
  118. package/dist/{components → src/components}/Tree/TreeItem.types.d.ts +1 -1
  119. package/dist/{hooks → src/hooks}/useClickOutside.d.ts +1 -1
  120. package/dist/{hooks → src/hooks}/useComponentId.d.ts +1 -1
  121. package/dist/{hooks → src/hooks}/useFocusTrap.d.ts +1 -1
  122. package/dist/{layouts → src/layouts}/AppLayout/AppLayout.d.ts +1 -0
  123. package/dist/src/layouts/AppLayout/AppLayout.stories.d.ts +13 -0
  124. package/dist/src/layouts/AppLayout/AppLayout.types.d.ts +13 -0
  125. package/dist/{layouts → src/layouts}/AuthLayout/AuthLayout.d.ts +1 -0
  126. package/dist/src/layouts/AuthLayout/AuthLayout.stories.d.ts +12 -0
  127. package/dist/src/layouts/AuthLayout/AuthLayout.types.d.ts +8 -0
  128. package/dist/{layouts → src/layouts}/DashboardLayout/DashboardLayout.d.ts +1 -0
  129. package/dist/src/layouts/DashboardLayout/DashboardLayout.stories.d.ts +11 -0
  130. package/dist/src/layouts/DashboardLayout/DashboardLayout.types.d.ts +10 -0
  131. package/dist/{layouts → src/layouts}/SettingsLayout/SettingsLayout.d.ts +1 -0
  132. package/dist/src/layouts/SettingsLayout/SettingsLayout.stories.d.ts +11 -0
  133. package/dist/src/layouts/SettingsLayout/SettingsLayout.types.d.ts +9 -0
  134. package/package.json +27 -42
  135. package/src/components/Box/Box.types.ts +7 -4
  136. package/src/components/Drawer/Drawer.types.ts +1 -1
  137. package/src/components/EmptyState/EmptyState.types.ts +3 -3
  138. package/src/components/Header/Header.types.ts +1 -1
  139. package/src/components/Modal/Modal.types.ts +1 -1
  140. package/src/components/Notification/Notification.types.ts +2 -2
  141. package/src/components/Slider/Slider.test.tsx +107 -1
  142. package/src/components/Slider/Slider.tsx +19 -16
  143. package/src/components/Text/Text.types.ts +3 -48
  144. package/vite.config.ts +1 -1
  145. package/dist/components/Box/Box.types.d.ts +0 -50
  146. /package/dist/{index.d.ts → src/index.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import classnames from 'classnames';
2
- import { useEffect, useMemo, useState } from 'react';
2
+ import { useMemo, useState } from 'react';
3
3
 
4
4
  import { useComponentId } from '../../hooks/useComponentId.ts';
5
5
  import { Input } from '../Input/Input.tsx';
@@ -81,16 +81,10 @@ export const Slider = ({
81
81
  const resolvedPair = value != null ? normalizeToPair(value, min, max) : internalPair;
82
82
  const [startValue, endValue] = resolvedPair;
83
83
 
84
- const [startInputValue, setStartInputValue] = useState(String(startValue));
85
- const [endInputValue, setEndInputValue] = useState(String(endValue));
86
-
87
- useEffect(() => {
88
- setStartInputValue(String(startValue));
89
- }, [startValue]);
90
-
91
- useEffect(() => {
92
- setEndInputValue(String(endValue));
93
- }, [endValue]);
84
+ const [editingStart, setEditingStart] = useState<string | null>(null);
85
+ const [editingEnd, setEditingEnd] = useState<string | null>(null);
86
+ const startDisplayValue = editingStart ?? String(startValue);
87
+ const endDisplayValue = editingEnd ?? String(endValue);
94
88
  const showValueText = isDual ? `${startValue} - ${endValue}` : String(startValue);
95
89
  const rangeSpan = Math.max(max - min, 1);
96
90
  const leftPercent = ((startValue - min) / rangeSpan) * 100;
@@ -169,7 +163,12 @@ export const Slider = ({
169
163
  step={step}
170
164
  value={startValue}
171
165
  onChange={(event) => {
172
- const next = alignToStep(toNumber(event.target.value, min), min, endValue, step);
166
+ const next = alignToStep(
167
+ toNumber(event.target.value, min),
168
+ min,
169
+ isDual ? endValue : max,
170
+ step
171
+ );
173
172
  emitChange([next, endValue]);
174
173
  }}
175
174
  />
@@ -199,8 +198,8 @@ export const Slider = ({
199
198
  type="number"
200
199
  inputMode="decimal"
201
200
  size={size}
202
- value={startInputValue}
203
- onChange={(event) => setStartInputValue(event.target.value)}
201
+ value={startDisplayValue}
202
+ onChange={(event) => setEditingStart(event.target.value)}
204
203
  min={min}
205
204
  max={isDual ? endValue : max}
206
205
  step={step}
@@ -210,10 +209,12 @@ export const Slider = ({
210
209
  fullWidth
211
210
  onBlur={(event) => {
212
211
  commitStartInput(event.target.value);
212
+ setEditingStart(null);
213
213
  }}
214
214
  onKeyDown={(event) => {
215
215
  if (event.key === 'Enter') {
216
216
  commitStartInput(event.currentTarget.value);
217
+ setEditingStart(null);
217
218
  }
218
219
  }}
219
220
  />
@@ -223,8 +224,8 @@ export const Slider = ({
223
224
  type="number"
224
225
  inputMode="decimal"
225
226
  size={size}
226
- value={endInputValue}
227
- onChange={(event) => setEndInputValue(event.target.value)}
227
+ value={endDisplayValue}
228
+ onChange={(event) => setEditingEnd(event.target.value)}
228
229
  min={startValue}
229
230
  max={max}
230
231
  step={step}
@@ -232,10 +233,12 @@ export const Slider = ({
232
233
  fullWidth
233
234
  onBlur={(event) => {
234
235
  commitEndInput(event.target.value);
236
+ setEditingEnd(null);
235
237
  }}
236
238
  onKeyDown={(event) => {
237
239
  if (event.key === 'Enter') {
238
240
  commitEndInput(event.currentTarget.value);
241
+ setEditingEnd(null);
239
242
  }
240
243
  }}
241
244
  />
@@ -1,8 +1,6 @@
1
1
  import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
2
 
3
- import type { BoxMargin, BoxPadding } from '../Box/Box.types.ts';
4
-
5
- export type { BoxMargin, BoxPadding };
3
+ import type { SpacingProps } from '../Box/Box.types.ts';
6
4
 
7
5
  export type TextVariant =
8
6
  | 'h1'
@@ -19,58 +17,15 @@ export type TextVariant =
19
17
 
20
18
  export type TextAlign = 'left' | 'center' | 'right' | 'justify';
21
19
  export type FontWeight = 'regular' | 'medium' | 'bold';
22
- export type TextColor =
23
- | 'main'
24
- | 'subtle'
25
- | 'subtle'
26
- | 'on-brand'
27
- | 'danger'
28
- | 'success'
29
- | 'warning'
30
- | 'info';
20
+ export type TextColor = 'main' | 'subtle' | 'on-brand' | 'danger' | 'success' | 'warning' | 'info';
31
21
 
32
- export interface TextProps extends HTMLAttributes<HTMLElement> {
33
- /** Additional class name */
22
+ export interface TextProps extends HTMLAttributes<HTMLElement>, SpacingProps {
34
23
  className?: string;
35
- /** The content to display */
36
24
  children: ReactNode;
37
- /** The typographic style to apply */
38
25
  variant?: TextVariant;
39
- /** The semantic HTML element to render */
40
26
  as?: ElementType;
41
- /** Text alignment */
42
27
  align?: TextAlign;
43
- /** Font weight override */
44
28
  weight?: FontWeight;
45
- /** Text color based on semantic tokens */
46
29
  color?: TextColor;
47
- /** If true, the text will not wrap and show ellipsis */
48
30
  noWrap?: boolean;
49
- margin?: BoxMargin;
50
- /** Horizontal margin */
51
- marginX?: BoxMargin;
52
- /** Vertical margin */
53
- marginY?: BoxMargin;
54
- /** Top margin */
55
- marginTop?: BoxMargin;
56
- /** Bottom margin */
57
- marginBottom?: BoxMargin;
58
- /** Left margin */
59
- marginLeft?: BoxMargin;
60
- /** Right margin */
61
- marginRight?: BoxMargin;
62
- /** Padding */
63
- padding?: BoxPadding;
64
- /** Horizontal padding */
65
- paddingX?: BoxPadding;
66
- /** Vertical padding */
67
- paddingY?: BoxPadding;
68
- /** Top padding */
69
- paddingTop?: BoxPadding;
70
- /** Bottom padding */
71
- paddingBottom?: BoxPadding;
72
- /** Left padding */
73
- paddingLeft?: BoxPadding;
74
- /** Right padding */
75
- paddingRight?: BoxPadding;
76
31
  }
package/vite.config.ts CHANGED
@@ -6,7 +6,7 @@ export default defineConfig({
6
6
  plugins: [
7
7
  dts({
8
8
  include: ['src'],
9
- tsConfigFilePath: './tsconfig.app.json',
9
+ tsconfigPath: './tsconfig.app.json',
10
10
  }),
11
11
  ],
12
12
  build: {
@@ -1,50 +0,0 @@
1
- import type { ElementType, HTMLAttributes, ReactNode } from 'react';
2
- export declare type BoxPadding = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 14 | (string & {});
3
- export declare type BoxMargin = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 14 | (string & {});
4
- export declare type BoxGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 14 | (string & {});
5
- export declare type BoxDisplay = 'block' | 'flex' | 'inline-flex' | 'grid' | 'inline-block' | 'none';
6
- export declare type BoxFlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
7
- export declare type BoxAlignItems = 'stretch' | 'flex-start' | 'center' | 'flex-end' | 'baseline';
8
- export declare type BoxJustifyContent = 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly';
9
- export declare type BoxBackgroundColor = 'none' | 'main' | 'subtle' | 'info-subtle' | 'success-subtle' | 'warning-subtle' | 'danger-subtle';
10
- export declare type BoxBorderColor = 'main' | 'subtle' | 'danger' | 'warning' | 'success' | 'info';
11
- export declare type BoxBorderRadius = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'full';
12
- export interface BoxProps extends HTMLAttributes<HTMLElement> {
13
- children?: ReactNode;
14
- as?: ElementType;
15
- display?: BoxDisplay;
16
- padding?: BoxPadding;
17
- paddingX?: BoxPadding;
18
- paddingY?: BoxPadding;
19
- paddingTop?: BoxPadding;
20
- paddingBottom?: BoxPadding;
21
- paddingLeft?: BoxPadding;
22
- paddingRight?: BoxPadding;
23
- margin?: BoxMargin;
24
- marginX?: BoxMargin;
25
- marginY?: BoxMargin;
26
- marginTop?: BoxMargin;
27
- marginBottom?: BoxMargin;
28
- marginLeft?: BoxMargin;
29
- marginRight?: BoxMargin;
30
- gap?: BoxGap;
31
- flexDirection?: BoxFlexDirection;
32
- alignItems?: BoxAlignItems;
33
- justifyContent?: BoxJustifyContent;
34
- className?: string;
35
- flexWrap?: 'nowrap' | 'wrap' | 'wrap-reverse';
36
- flexGrow?: number | string;
37
- flexShrink?: number | string;
38
- flex?: number | string;
39
- fullWidth?: boolean;
40
- textAlign?: 'left' | 'center' | 'right' | 'justify';
41
- width?: string | number;
42
- height?: string | number;
43
- maxWidth?: string | number;
44
- gridTemplateColumns?: string;
45
- backgroundColor?: BoxBackgroundColor;
46
- border?: boolean;
47
- borderBottom?: boolean;
48
- borderColor?: BoxBorderColor;
49
- borderRadius?: BoxBorderRadius;
50
- }
File without changes