@uxf/ui 1.0.0-beta.164 → 1.0.0-beta.166

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 (131) hide show
  1. package/_select-base/_select-base.d.ts +2 -2
  2. package/avatar/avatar.stories.d.ts +1 -1
  3. package/avatar-file-input/avatar-file-input.stories.d.ts +1 -1
  4. package/badge/badge.stories.d.ts +1 -1
  5. package/button/button.stories.d.ts +1 -1
  6. package/button-group/button-group.stories.d.ts +1 -1
  7. package/button-list/button-list.stories.d.ts +1 -1
  8. package/calendar/calendar.stories.d.ts +1 -1
  9. package/checkbox/checkbox.stories.d.ts +1 -1
  10. package/checkbox-button/checkbox-button.stories.d.ts +1 -1
  11. package/checkbox-input/checkbox-input.stories.d.ts +1 -1
  12. package/chip/chip.stories.d.ts +1 -1
  13. package/color-radio/color-radio.stories.d.ts +1 -1
  14. package/color-radio-group/color-radio-group.stories.d.ts +1 -1
  15. package/combobox/combobox.d.ts +2 -2
  16. package/combobox/combobox.stories.d.ts +5 -5
  17. package/config/icons-config.d.ts +1 -1
  18. package/config/icons-config.js +1 -1
  19. package/config/icons.d.ts +10 -0
  20. package/config/icons.js +2 -0
  21. package/css/calendar.css +50 -16
  22. package/css/date-picker.css +13 -75
  23. package/css/datetime-picker.css +11 -0
  24. package/css/input-with-popover.css +1 -1
  25. package/css/time-picker.css +6 -3
  26. package/date-picker/date-picker-content.d.ts +2 -0
  27. package/{date-picker-provider/date-picker.js → date-picker/date-picker-content.js} +4 -4
  28. package/{date-picker-provider → date-picker}/date-picker-decade.js +1 -1
  29. package/{date-picker-provider → date-picker}/date-picker-navigation.js +5 -5
  30. package/{date-picker-provider → date-picker}/date-picker-year.js +1 -2
  31. package/date-picker/date-picker.d.ts +8 -0
  32. package/{date-picker-provider/date-picker-provider.js → date-picker/date-picker.js} +10 -12
  33. package/{date-picker-provider/date-picker-provider.spec.js → date-picker/date-picker.spec.js} +2 -2
  34. package/date-picker/date-picker.stories.d.ts +7 -0
  35. package/{date-picker-provider/date-picker-provider.stories.js → date-picker/date-picker.stories.js} +6 -12
  36. package/date-picker/index.d.ts +3 -0
  37. package/date-picker/index.js +5 -0
  38. package/date-picker/types.d.ts +1 -0
  39. package/date-picker-input/date-picker-input.js +3 -3
  40. package/date-picker-input/date-picker-input.stories.d.ts +1 -4
  41. package/date-picker-input/date-picker-input.stories.js +5 -11
  42. package/date-picker-input/index.d.ts +1 -2
  43. package/date-picker-input/index.js +4 -1
  44. package/datetime-picker/datetime-picker.d.ts +11 -0
  45. package/datetime-picker/datetime-picker.js +94 -0
  46. package/datetime-picker/datetime-picker.spec.d.ts +1 -0
  47. package/datetime-picker/datetime-picker.spec.js +9 -0
  48. package/datetime-picker/datetime-picker.stories.d.ts +7 -0
  49. package/datetime-picker/datetime-picker.stories.js +43 -0
  50. package/datetime-picker/index.d.ts +2 -0
  51. package/datetime-picker/index.js +7 -0
  52. package/datetime-picker-input/datetime-picker-input.d.ts +9 -0
  53. package/datetime-picker-input/datetime-picker-input.js +71 -0
  54. package/datetime-picker-input/datetime-picker-input.spec.d.ts +1 -0
  55. package/datetime-picker-input/datetime-picker-input.spec.js +9 -0
  56. package/datetime-picker-input/datetime-picker-input.stories.d.ts +7 -0
  57. package/datetime-picker-input/datetime-picker-input.stories.js +48 -0
  58. package/datetime-picker-input/index.d.ts +2 -0
  59. package/datetime-picker-input/index.js +7 -0
  60. package/dropdown/dropdown.stories.d.ts +1 -1
  61. package/dropzone/dropzone.stories.d.ts +2 -2
  62. package/error-message/error-message.stories.d.ts +1 -1
  63. package/file-input/file-input.stories.d.ts +1 -1
  64. package/flash-messages/flash-messages.stories.d.ts +1 -1
  65. package/form-component/form-component.stories.d.ts +1 -1
  66. package/icon/icon.stories.d.ts +5 -5
  67. package/image-gallery/image-gallery.stories.d.ts +1 -1
  68. package/input/input.stories.d.ts +3 -3
  69. package/label/label.stories.d.ts +1 -1
  70. package/layout/layout.stories.d.ts +1 -1
  71. package/list-item/list-item.stories.d.ts +1 -1
  72. package/loader/loader.stories.d.ts +1 -1
  73. package/modal/modal.stories.d.ts +1 -1
  74. package/multi-combobox/multi-combobox.stories.d.ts +3 -3
  75. package/multi-select/multi-select.stories.d.ts +2 -2
  76. package/package.json +4 -4
  77. package/pagination/pagination.stories.d.ts +1 -1
  78. package/paper/paper.stories.d.ts +1 -1
  79. package/radio/radio.stories.d.ts +1 -1
  80. package/radio-group/radio-group.stories.d.ts +1 -1
  81. package/raster-image/raster-image.stories.d.ts +1 -1
  82. package/select/select.d.ts +2 -2
  83. package/select/select.stories.d.ts +4 -4
  84. package/tabs/tabs.stories.d.ts +1 -1
  85. package/text-input/text-input.stories.d.ts +2 -2
  86. package/text-link/text-link.stories.d.ts +1 -1
  87. package/textarea/textarea.stories.d.ts +1 -1
  88. package/time-picker/index.d.ts +2 -0
  89. package/time-picker/index.js +5 -0
  90. package/time-picker/time-picker-input.spec.d.ts +1 -0
  91. package/time-picker/time-picker-input.spec.js +9 -0
  92. package/time-picker/time-picker-input.stories.d.ts +7 -0
  93. package/time-picker/time-picker-input.stories.js +43 -0
  94. package/{time-picker-input → time-picker}/time-picker.d.ts +1 -1
  95. package/{time-picker-input → time-picker}/time-picker.js +1 -1
  96. package/time-picker-input/index.d.ts +1 -3
  97. package/time-picker-input/index.js +4 -3
  98. package/time-picker-input/time-picker-input.js +3 -3
  99. package/time-picker-input/time-picker-input.stories.d.ts +1 -1
  100. package/time-picker-input/time-picker-input.stories.js +5 -5
  101. package/toggle/toggle.stories.d.ts +1 -1
  102. package/tooltip/tooltip.stories.d.ts +1 -1
  103. package/typography/typography.stories.d.ts +2 -2
  104. package/utils/component-structure-analyzer.d.ts +2 -2
  105. package/utils/icons-config.js +10 -0
  106. package/utils/storybook-config.d.ts +2 -2
  107. package/date-picker-input/types.d.ts +0 -5
  108. package/date-picker-provider/date-picker-day.d.ts +0 -8
  109. package/date-picker-provider/date-picker-day.js +0 -63
  110. package/date-picker-provider/date-picker-provider.d.ts +0 -8
  111. package/date-picker-provider/date-picker-provider.stories.d.ts +0 -10
  112. package/date-picker-provider/date-picker.d.ts +0 -3
  113. package/date-picker-provider/index.d.ts +0 -3
  114. package/date-picker-provider/index.js +0 -5
  115. package/date-picker-provider/types.d.ts +0 -5
  116. package/date-picker-provider/types.js +0 -2
  117. /package/{date-picker-provider → date-picker}/date-picker-decade.d.ts +0 -0
  118. /package/{date-picker-provider → date-picker}/date-picker-month.d.ts +0 -0
  119. /package/{date-picker-provider → date-picker}/date-picker-month.js +0 -0
  120. /package/{date-picker-provider → date-picker}/date-picker-navigation.d.ts +0 -0
  121. /package/{date-picker-provider → date-picker}/date-picker-year.d.ts +0 -0
  122. /package/{date-picker-provider/date-picker-provider.spec.d.ts → date-picker/date-picker.spec.d.ts} +0 -0
  123. /package/{date-picker-input → date-picker}/types.js +0 -0
  124. /package/{time-picker-input → time-picker}/time-picker-hour.d.ts +0 -0
  125. /package/{time-picker-input → time-picker}/time-picker-hour.js +0 -0
  126. /package/{time-picker-input → time-picker}/time-picker-hours.d.ts +0 -0
  127. /package/{time-picker-input → time-picker}/time-picker-hours.js +0 -0
  128. /package/{time-picker-input → time-picker}/time-picker-minute.d.ts +0 -0
  129. /package/{time-picker-input → time-picker}/time-picker-minute.js +0 -0
  130. /package/{time-picker-input → time-picker}/time-picker-minutes.d.ts +0 -0
  131. /package/{time-picker-input → time-picker}/time-picker-minutes.js +0 -0
@@ -2,7 +2,7 @@ import { Placement, Strategy } from "@floating-ui/react";
2
2
  import type { Combobox, Listbox } from "@headlessui/react";
3
3
  import { IconsSet } from "@uxf/ui/icon/theme";
4
4
  import { Clearable, FormControlProps } from "@uxf/ui/types";
5
- import { ReactElement, ReactNode, Ref } from "react";
5
+ import React, { ReactElement, ReactNode, Ref } from "react";
6
6
  import { InputGroupSizes, InputGroupVariants } from "../input/theme";
7
7
  export type SelectBaseValueId = number | string;
8
8
  export type SelectBaseValue<ValueId = SelectBaseValueId> = {
@@ -47,7 +47,7 @@ type Props<ValueId = SelectBaseValue, Value = ValueId, Option = SelectBaseOption
47
47
  value: ValueId | null;
48
48
  });
49
49
  export declare const _SelectBase: {
50
- <ValueId = SelectBaseValue<SelectBaseValueId>, Value = ValueId, Option = SelectBaseOption<ValueId>>(props: Props<ValueId, Value, Option>): JSX.Element;
50
+ <ValueId = SelectBaseValue<SelectBaseValueId>, Value = ValueId, Option = SelectBaseOption<ValueId>>(props: Props<ValueId, Value, Option>): React.JSX.Element;
51
51
  displayName: string;
52
52
  };
53
53
  export {};
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./avatar").AvatarProps & React.RefAttributes<HTMLDivElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./avatar-file-input").AvatarFileInputProps & React.RefAttributes<HTMLInputElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./badge").BadgeProps & React.RefAttributes<HTMLDivElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -7,4 +7,4 @@ declare const _default: {
7
7
  };
8
8
  };
9
9
  export default _default;
10
- export declare function Default(): JSX.Element;
10
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.FC<React.PropsWithChildren<import("./button-group").ButtonGroupProps>>;
5
5
  };
6
6
  export default _default;
7
- export declare const Default: () => JSX.Element;
7
+ export declare const Default: () => React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.FC<import("./button-list").ButtonListProps>;
5
5
  };
6
6
  export default _default;
7
- export declare const Default: () => JSX.Element;
7
+ export declare const Default: () => React.JSX.Element;
@@ -7,4 +7,4 @@ declare const _default: {
7
7
  };
8
8
  };
9
9
  export default _default;
10
- export declare function Default(): JSX.Element;
10
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./checkbox").CheckboxProps & React.RefAttributes<HTMLDivElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./checkbox-button").CheckboxButtonProps & React.RefAttributes<HTMLButtonElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./checkbox-input").CheckboxInputProps & React.RefAttributes<HTMLDivElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -7,4 +7,4 @@ declare const _default: {
7
7
  };
8
8
  };
9
9
  export default _default;
10
- export declare function Default(): JSX.Element;
10
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./color-radio").ColorRadioProps<string | number> & React.RefAttributes<HTMLDivElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -4,4 +4,4 @@ declare const _default: {
4
4
  component: React.ForwardRefExoticComponent<import("./color-radio-group").ColorRadioGroupProps & React.RefAttributes<HTMLLabelElement>>;
5
5
  };
6
6
  export default _default;
7
- export declare function Default(): JSX.Element;
7
+ export declare function Default(): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ReactNode, Ref } from "react";
1
+ import React, { ReactNode, Ref } from "react";
2
2
  import { SelectBaseProps, SelectBaseValueId } from "../_select-base";
3
3
  export type ComboboxValueId = SelectBaseValueId;
4
4
  export type ComboboxValue<ValueId = ComboboxValueId> = {
@@ -17,7 +17,7 @@ export interface ComboboxProps<ValueId = SelectBaseValueId, Option = ComboboxOpt
17
17
  renderOption?: (option: Option) => ReactNode;
18
18
  }
19
19
  export declare const Combobox: {
20
- <ValueId = SelectBaseValueId, Option = ComboboxOption<ValueId>, Value = Option>(props: ComboboxProps<ValueId, Option, Value>): JSX.Element;
20
+ <ValueId = SelectBaseValueId, Option = ComboboxOption<ValueId>, Value = Option>(props: ComboboxProps<ValueId, Option, Value>): React.JSX.Element;
21
21
  displayName: string;
22
22
  };
23
23
  export {};
@@ -1,12 +1,12 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  declare const _default: {
3
3
  title: string;
4
4
  component: {
5
- <ValueId = import("../_select-base").SelectBaseValueId, Option = import("./combobox").ComboboxOption<ValueId>, Value = Option>(props: import("./combobox").ComboboxProps<ValueId, Option, Value>): JSX.Element;
5
+ <ValueId = import("../_select-base").SelectBaseValueId, Option = import("./combobox").ComboboxOption<ValueId>, Value = Option>(props: import("./combobox").ComboboxProps<ValueId, Option, Value>): React.JSX.Element;
6
6
  displayName: string;
7
7
  };
8
8
  };
9
9
  export default _default;
10
- export declare function Default(): JSX.Element;
11
- export declare function Async(): JSX.Element;
12
- export declare function ComponentStructure(): JSX.Element;
10
+ export declare function Default(): React.JSX.Element;
11
+ export declare function Async(): React.JSX.Element;
12
+ export declare function ComponentStructure(): React.JSX.Element;
@@ -1,2 +1,2 @@
1
- export declare const ICONS_VERSION = "1676106442386";
1
+ export declare const ICONS_VERSION = "1685632683041";
2
2
  export declare const ICON_SPRITE = "/.storybook/static-assets/icons-generated/_icon-sprite.svg";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ICON_SPRITE = exports.ICONS_VERSION = void 0;
4
- exports.ICONS_VERSION = "1676106442386";
4
+ exports.ICONS_VERSION = "1685632683041";
5
5
  exports.ICON_SPRITE = "/.storybook/static-assets/icons-generated/_icon-sprite.svg";
package/config/icons.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  export declare const ICONS: {
2
+ readonly "arrow-left": {
3
+ readonly w: 448;
4
+ readonly h: 512;
5
+ };
6
+ readonly "arrow-right": {
7
+ readonly w: 448;
8
+ readonly h: 512;
9
+ };
2
10
  readonly calendar: {
3
11
  readonly w: 448;
4
12
  readonly h: 512;
@@ -83,6 +91,8 @@ export declare const ICONS: {
83
91
  export type IconsType = keyof typeof ICONS;
84
92
  declare module "@uxf/ui/icon/theme" {
85
93
  interface IconsSet {
94
+ "arrow-left": true;
95
+ "arrow-right": true;
86
96
  "calendar": true;
87
97
  "camera": true;
88
98
  "caretDown": true;
package/config/icons.js CHANGED
@@ -3,6 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.ICONS = void 0;
5
5
  exports.ICONS = {
6
+ "arrow-left": { w: 448, h: 512 },
7
+ "arrow-right": { w: 448, h: 512 },
6
8
  "calendar": { w: 448, h: 512 },
7
9
  "camera": { w: 512, h: 512 },
8
10
  "caretDown": { w: 320, h: 512 },
package/css/calendar.css CHANGED
@@ -1,5 +1,5 @@
1
1
  .uxf-calendar {
2
- &__cell-day {
2
+ &__cell {
3
3
  align-items: center;
4
4
  background-color: theme("backgroundColor.white");
5
5
  color: theme("colors.lightMedium");
@@ -13,8 +13,6 @@
13
13
  position: relative;
14
14
  text-align: center;
15
15
 
16
- --compensated-radii: calc(theme("borderRadius.md") - theme("spacing.px"));
17
-
18
16
  :root .dark & {
19
17
  background-color: theme("backgroundColor.gray.900");
20
18
  color: theme("colors.darkMedium");
@@ -37,6 +35,10 @@
37
35
  position: absolute;
38
36
  }
39
37
  }
38
+ }
39
+
40
+ &__cell-day {
41
+ --compensated-radii: calc(theme("borderRadius.md") - theme("spacing.px"));
40
42
 
41
43
  &:first-child {
42
44
  border-top-left-radius: var(--compensated-radii);
@@ -54,16 +56,6 @@
54
56
  border-bottom-right-radius: var(--compensated-radii);
55
57
  }
56
58
 
57
- &--not-current-month {
58
- background-color: theme("backgroundColor.gray.100");
59
- color: theme("colors.lightLow");
60
-
61
- :root .dark & {
62
- background-color: theme("backgroundColor.gray.800");
63
- color: theme("colors.darkLow");
64
- }
65
- }
66
-
67
59
  &--selected {
68
60
  background-color: theme("backgroundColor.primary.500");
69
61
  color: theme("colors.white");
@@ -109,6 +101,37 @@
109
101
  }
110
102
  }
111
103
  }
104
+
105
+ &--not-current-month {
106
+ background-color: theme("backgroundColor.gray.100");
107
+ color: theme("colors.lightLow");
108
+
109
+ :root .dark & {
110
+ background-color: theme("backgroundColor.gray.800");
111
+ color: theme("colors.darkLow");
112
+ }
113
+ }
114
+ }
115
+
116
+ &__cell-month,
117
+ &__cell-year {
118
+ --compensated-radii: calc(theme("borderRadius.md") - theme("spacing.px"));
119
+
120
+ &:first-child {
121
+ border-top-left-radius: var(--compensated-radii);
122
+ }
123
+
124
+ &:nth-child(3) {
125
+ border-top-right-radius: var(--compensated-radii);
126
+ }
127
+
128
+ &:nth-last-child(3) {
129
+ border-bottom-left-radius: var(--compensated-radii);
130
+ }
131
+
132
+ &:last-child {
133
+ border-bottom-right-radius: var(--compensated-radii);
134
+ }
112
135
  }
113
136
 
114
137
  &__weekdays {
@@ -118,6 +141,7 @@
118
141
  font-size: 10px;
119
142
  font-weight: theme("fontWeight.semibold");
120
143
  grid-template-columns: repeat(7, minmax(0, 1fr));
144
+ margin-bottom: 6px;
121
145
  padding: 0 1px;
122
146
  text-align: center;
123
147
  text-transform: uppercase;
@@ -131,16 +155,17 @@
131
155
  align-items: center;
132
156
  display: flex;
133
157
  flex-direction: column;
134
- height: 32px;
158
+ height: 21px;
135
159
  justify-content: center;
136
160
  }
137
161
 
138
- &__days {
162
+ &__days,
163
+ &__year,
164
+ &__decade {
139
165
  background-color: theme("backgroundColor.lightBorder");
140
166
  border-radius: 6px;
141
167
  display: grid;
142
168
  gap: 1px;
143
- grid-template-columns: repeat(7, minmax(0, 1fr));
144
169
  padding: 1px;
145
170
  text-align: center;
146
171
 
@@ -148,4 +173,13 @@
148
173
  background-color: theme("backgroundColor.darkBorder");
149
174
  }
150
175
  }
176
+
177
+ &__days {
178
+ grid-template-columns: repeat(7, minmax(0, 1fr));
179
+ }
180
+
181
+ &__year,
182
+ &__decade {
183
+ grid-template-columns: repeat(3, minmax(0, 1fr));
184
+ }
151
185
  }
@@ -1,84 +1,22 @@
1
1
  .uxf-date-picker {
2
- &__navigation {
3
- @apply flex items-center justify-between px-4 w-[320px] sm:w-[360px];
4
- }
5
-
6
- &__month-calendar,
7
- &__year-calendar,
8
- &__decade-calendar {
9
- @apply grid place-items-center w-full px-4 pt-4 text-center;
10
- }
11
-
12
- &__month-calendar {
13
- @apply grid-cols-7 gap-0.5;
14
- }
15
-
16
- &__year-calendar {
17
- @apply grid-cols-3 sm:grid-cols-4 gap-2;
18
- }
19
-
20
- &__decade-calendar {
21
- @apply grid-cols-3 gap-2;
22
- }
23
-
24
- &__weekday-label {
25
- @apply uppercase pb-2;
26
- }
27
-
28
- &__decade-label {
29
- @apply font-semibold;
30
- }
31
-
32
- &__cell {
33
- @apply p-1 transition relative rounded-full outline-none before:absolute before:pointer-events-none
34
- before:rounded-full before:-inset-1 focus-visible:before:border-2;
35
-
36
- &-month {
37
- @apply w-full;
38
- }
2
+ @apply w-[296px] sm:w-[340px] mx-auto;
39
3
 
40
- &__year {
41
- @apply w-full;
42
- }
43
- }
44
-
45
- :root .light & {
46
- @apply text-gray-900;
47
-
48
- .uxf-date-picker__cell {
49
- @apply hover:bg-gray-200 focus-visible:before:border-primary;
50
- }
51
-
52
- .uxf-date-picker__cell-day--today {
53
- @apply bg-primary-200 hover:bg-primary-300;
54
- }
55
-
56
- .uxf-date-picker__cell-day--selected {
57
- @apply bg-primary text-white hover:bg-primary;
58
- }
59
-
60
- .uxf-date-picker__cell-day--not-current-month {
61
- @apply text-gray-400;
62
- }
63
- }
64
-
65
- :root .dark & {
66
- @apply bg-gray-900 text-white;
4
+ &__navigation {
5
+ @apply flex items-center justify-between mb-4;
67
6
 
68
- .uxf-date-picker__cell {
69
- @apply hover:bg-gray-700 focus-visible:before:border-primary;
70
- }
7
+ &-title {
8
+ font-size: 14px;
9
+ font-weight: theme("fontWeight.medium");
10
+ text-align: center;
71
11
 
72
- .uxf-date-picker__cell-day--today {
73
- @apply bg-primary-400/50 hover:bg-primary-400/60;
74
- }
12
+ :root .light & {
13
+ @apply text-lightMedium is-hoverable:text-lightHigh;
14
+ }
75
15
 
76
- .uxf-date-picker__cell-day--selected {
77
- @apply bg-primary text-white hover:bg-primary;
78
- }
16
+ :root .dark & {
17
+ @apply text-darkMedium is-hoverable:text-darkHigh;
18
+ }
79
19
 
80
- .uxf-date-picker__cell-day--not-current-month {
81
- @apply text-gray-600;
82
20
  }
83
21
  }
84
22
  }
@@ -0,0 +1,11 @@
1
+ .uxf-datetime-picker {
2
+ &__tabs {
3
+ @apply mx-auto w-fit mb-4;
4
+ }
5
+
6
+ &__tab {
7
+ @apply py-0 text-body2 px-3;
8
+
9
+ height: theme("inputSize.xs");
10
+ }
11
+ }
@@ -1,6 +1,6 @@
1
1
  .uxf-iwp {
2
2
  &__popover-panel {
3
- @apply z-dropdown max-w-md overflow-y-auto rounded-md p-2 shadow-lg ring-1 ring-black
3
+ @apply z-dropdown max-w-md overflow-y-auto rounded-md p-3 shadow-lg ring-1 ring-black
4
4
  ring-opacity-5 focus:outline-none;
5
5
 
6
6
  :root .light & {
@@ -1,21 +1,24 @@
1
1
  .uxf-time-picker {
2
2
  &__global {
3
- @apply flex items-center justify-between px-4 w-[180px];
3
+ @apply flex items-center justify-between px-4 w-[180px] mx-auto;
4
4
 
5
5
  &__column {
6
6
  @apply flex flex-col items-center shrink-0;
7
7
 
8
+ width: 48px;
9
+
8
10
  & > :nth-child(1),
9
11
  & > :nth-child(3) {
10
- @apply h-6;
12
+ height: 24px
11
13
  }
12
14
  }
13
15
  }
14
16
 
15
17
  &__hours,
16
18
  &__minutes {
17
- @apply grid grid-cols-4 place-items-center gap-1;
19
+ @apply grid grid-cols-4 place-items-center gap-1 mx-auto;
18
20
 
21
+ text-align: center;
19
22
  width: 200px;
20
23
  }
21
24
 
@@ -0,0 +1,2 @@
1
+ import { FC, PropsWithChildren } from "react";
2
+ export declare const DatePickerContent: FC<PropsWithChildren>;
@@ -23,13 +23,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DatePicker = void 0;
26
+ exports.DatePickerContent = void 0;
27
27
  const react_1 = __importStar(require("react"));
28
28
  const date_picker_year_1 = require("./date-picker-year");
29
29
  const date_picker_decade_1 = require("./date-picker-decade");
30
30
  const date_picker_context_1 = require("@uxf/datepicker/contexts/date-picker-context");
31
31
  const date_picker_month_1 = require("./date-picker-month");
32
- const DatePicker = (props) => {
32
+ const DatePickerContent = (props) => {
33
33
  // eslint-disable-next-line react/destructuring-assignment
34
34
  const { goToDate, activeMonths } = (0, react_1.useContext)(date_picker_context_1.DatePickerContext);
35
35
  const [viewMode, setViewMode] = (0, react_1.useState)("month");
@@ -51,5 +51,5 @@ const DatePicker = (props) => {
51
51
  props.children,
52
52
  datePickerComponents[viewMode]));
53
53
  };
54
- exports.DatePicker = DatePicker;
55
- exports.DatePicker.displayName = "UxfUiDatePicker";
54
+ exports.DatePickerContent = DatePickerContent;
55
+ exports.DatePickerContent.displayName = "UxfUiDatePickerContent";
@@ -68,6 +68,6 @@ exports.DatePickerDecade = (0, react_1.memo)((props) => {
68
68
  }, selectButtonProps: {
69
69
  children: decadeLabel,
70
70
  } }),
71
- react_1.default.createElement("div", { className: "uxf-date-picker__decade-calendar" }, years.map((year, index) => (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-date-picker__cell uxf-date-picker__cell-year", !canGoToYear(year.date) && classes_1.CLASSES.IS_DISABLED, (0, dayjs_1.default)(year.date).year() === currentYear && "uxf-date-picker__cell-year--current"), key: year.yearLabel + index, onClick: handleSelectYear(year.date), type: "button" }, year.yearLabel))))));
71
+ react_1.default.createElement("div", { className: "uxf-calendar__decade" }, years.map((year, index) => (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-calendar__cell uxf-calendar__cell-year", !canGoToYear(year.date) && classes_1.CLASSES.IS_DISABLED), key: year.yearLabel + index, onClick: handleSelectYear(year.date), type: "button" }, year.yearLabel))))));
72
72
  });
73
73
  exports.DatePickerDecade.displayName = "UxfUiDatePickerDecade";
@@ -9,11 +9,11 @@ const button_1 = require("../button");
9
9
  const icon_1 = require("../icon");
10
10
  const DatePickerNavigation = (props) => {
11
11
  return (react_1.default.createElement("div", { className: "uxf-date-picker__navigation" },
12
- react_1.default.createElement(button_1.Button, { isIconButton: true, variant: "white", ...props.prevButtonProps },
13
- react_1.default.createElement(icon_1.Icon, { name: "chevronLeft", size: 16 })),
14
- props.selectButtonProps.onClick ? (react_1.default.createElement(button_1.Button, { variant: "text", color: "default", ...props.selectButtonProps })) : (react_1.default.createElement("p", { className: "uxf-date-picker__navigation-title" }, props.selectButtonProps.children)),
15
- react_1.default.createElement(button_1.Button, { isIconButton: true, variant: "white", ...props.nextButtonProps },
16
- react_1.default.createElement(icon_1.Icon, { name: "chevronRight", size: 16 }))));
12
+ react_1.default.createElement(button_1.Button, { isIconButton: true, size: "sm", variant: "white", ...props.prevButtonProps },
13
+ react_1.default.createElement(icon_1.Icon, { name: "arrow-left", size: 16 })),
14
+ props.selectButtonProps.onClick ? (react_1.default.createElement(button_1.Button, { variant: "text", size: "sm", color: "default", ...props.selectButtonProps })) : (react_1.default.createElement("p", { className: "uxf-date-picker__navigation-title" }, props.selectButtonProps.children)),
15
+ react_1.default.createElement(button_1.Button, { isIconButton: true, size: "sm", variant: "white", ...props.nextButtonProps },
16
+ react_1.default.createElement(icon_1.Icon, { name: "arrow-right", size: 16 }))));
17
17
  };
18
18
  exports.DatePickerNavigation = DatePickerNavigation;
19
19
  exports.DatePickerNavigation.displayName = "UxfUiDatePickerArrowsViewMode";
@@ -36,7 +36,6 @@ const react_1 = __importStar(require("react"));
36
36
  const date_picker_navigation_1 = require("./date-picker-navigation");
37
37
  exports.DatePickerYear = (0, react_1.memo)((props) => {
38
38
  const { canGoToNextYear, canGoToPrevYear, goToNextYear, goToPrevYear, canGoToMonth, activeMonths } = (0, react_1.useContext)(date_picker_context_1.DatePickerContext);
39
- const currentMonth = activeMonths[0].month;
40
39
  const currentYear = activeMonths[0].year;
41
40
  const { months, yearLabel } = (0, use_year_1.useYear)({
42
41
  year: currentYear,
@@ -75,6 +74,6 @@ exports.DatePickerYear = (0, react_1.memo)((props) => {
75
74
  onClick: handleYearClick,
76
75
  title: "Vybrat rok",
77
76
  } }),
78
- react_1.default.createElement("div", { className: "uxf-date-picker__year-calendar" }, months.map((month, index) => (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-date-picker__cell uxf-date-picker__cell-month", !canGoToMonth(month.date) && classes_1.CLASSES.IS_DISABLED, (0, dayjs_1.default)(month.date).month() === currentMonth && "uxf-date-picker__cell-month--current"), key: month.monthLabel + index, onClick: handleMonthClick(month.date), type: "button" }, month.monthLabel))))));
77
+ react_1.default.createElement("div", { className: "uxf-calendar__year" }, months.map((month, index) => (react_1.default.createElement("button", { className: (0, cx_1.cx)("uxf-calendar__cell uxf-calendar__cell-month", !canGoToMonth(month.date) && classes_1.CLASSES.IS_DISABLED), key: month.monthLabel + index, onClick: handleMonthClick(month.date), type: "button" }, month.monthLabel))))));
79
78
  });
80
79
  exports.DatePickerYear.displayName = "UxfUiDatePickerYear";
@@ -0,0 +1,8 @@
1
+ import { FC } from "react";
2
+ import { OnDateChangeType } from "@uxf/datepicker/hooks/use-date-picker";
3
+ export interface DatePickerProps {
4
+ closePopoverHandler?: () => void;
5
+ onChange: (data: OnDateChangeType) => void;
6
+ selectedDate: Date | null;
7
+ }
8
+ export declare const DatePicker: FC<DatePickerProps>;
@@ -3,25 +3,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.DatePickerProvider = void 0;
6
+ exports.DatePicker = void 0;
7
7
  const react_1 = __importDefault(require("react"));
8
8
  const date_picker_context_1 = require("@uxf/datepicker/contexts/date-picker-context");
9
9
  const use_date_picker_1 = require("@uxf/datepicker/hooks/use-date-picker");
10
- const date_picker_1 = require("./date-picker");
11
- const DatePickerProvider = (props) => {
12
- var _a;
10
+ const date_picker_content_1 = require("./date-picker-content");
11
+ const DatePicker = (props) => {
13
12
  const datePickerProps = (0, use_date_picker_1.useDatePicker)({
14
13
  firstDayOfWeek: 1,
15
14
  onDateChange: (data) => {
16
- if (props.onChange) {
17
- props.onChange(data);
18
- }
19
- props.closePopoverHandler();
15
+ var _a;
16
+ props.onChange(data);
17
+ (_a = props.closePopoverHandler) === null || _a === void 0 ? void 0 : _a.call(props);
20
18
  },
21
- selectedDate: (_a = props.selectedDate) !== null && _a !== void 0 ? _a : null,
19
+ selectedDate: props.selectedDate,
22
20
  });
23
21
  return (react_1.default.createElement(date_picker_context_1.DatePickerContext.Provider, { value: datePickerProps },
24
- react_1.default.createElement(date_picker_1.DatePicker, null)));
22
+ react_1.default.createElement(date_picker_content_1.DatePickerContent, null)));
25
23
  };
26
- exports.DatePickerProvider = DatePickerProvider;
27
- exports.DatePickerProvider.displayName = "UxfUiDatePickerProvider";
24
+ exports.DatePicker = DatePicker;
25
+ exports.DatePicker.displayName = "UxfUiDatePicker";
@@ -5,5 +5,5 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const react_1 = __importDefault(require("react"));
7
7
  const snap_test_1 = require("../utils/snap-test");
8
- const date_picker_provider_stories_1 = require("./date-picker-provider.stories");
9
- (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(date_picker_provider_stories_1.Default, null));
8
+ const date_picker_stories_1 = require("./date-picker.stories");
9
+ (0, snap_test_1.snapTest)("render stories", react_1.default.createElement(date_picker_stories_1.Default, null));
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ component: React.FC<import("./date-picker").DatePickerProps>;
5
+ };
6
+ export default _default;
7
+ export declare function Default(): React.JSX.Element;
@@ -25,23 +25,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Default = void 0;
27
27
  const react_1 = __importStar(require("react"));
28
- // import Docs from "./date-picker.docs.mdx";
29
28
  const action_1 = require("../utils/action");
30
- const date_picker_provider_1 = require("./date-picker-provider");
29
+ const date_picker_1 = require("./date-picker");
31
30
  exports.default = {
32
- title: "UI/DatePickerProvider",
33
- component: date_picker_provider_1.DatePickerProvider,
34
- parameters: {
35
- docs: {
36
- // page: Docs,
37
- },
38
- },
31
+ title: "UI/DatePicker",
32
+ component: date_picker_1.DatePicker,
39
33
  };
40
34
  function Default() {
41
- const [date, setDate] = (0, react_1.useState)(null);
42
- const onChange = (0, action_1.action)("onChange", setDate);
35
+ const [value, setValue] = (0, react_1.useState)(null);
36
+ const onChange = (0, action_1.action)("onChange", setValue);
43
37
  const testDatePickers = (react_1.default.createElement(react_1.default.Fragment, null,
44
- react_1.default.createElement(date_picker_provider_1.DatePickerProvider, { closePopoverHandler: close, onChange: onChange, selectedDate: date })));
38
+ react_1.default.createElement(date_picker_1.DatePicker, { closePopoverHandler: close, onChange: onChange, selectedDate: value })));
45
39
  return (react_1.default.createElement(react_1.default.Fragment, null,
46
40
  react_1.default.createElement("div", { className: "light max-w-[640px] space-y-4 rounded bg-white p-8" }, testDatePickers),
47
41
  react_1.default.createElement("div", { className: "dark max-w-[640px] space-y-4 rounded bg-gray-900 p-8 text-white" }, testDatePickers)));
@@ -0,0 +1,3 @@
1
+ export type { DatePickerProps } from "./date-picker";
2
+ export type { ViewModeType } from "./types";
3
+ export { DatePicker } from "./date-picker";