@forgedevstack/bear 1.0.4 → 1.0.6

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 (133) hide show
  1. package/dist/components/AppBar/AppBar.cjs +1 -1
  2. package/dist/components/AppBar/AppBar.js +8 -8
  3. package/dist/components/Button/Button.constants.cjs +1 -1
  4. package/dist/components/Button/Button.constants.js +1 -1
  5. package/dist/components/Button/Button.d.ts +5 -3
  6. package/dist/components/Calendar/Calendar.cjs +1 -1
  7. package/dist/components/Calendar/Calendar.const.cjs +1 -1
  8. package/dist/components/Calendar/Calendar.const.d.ts +1 -0
  9. package/dist/components/Calendar/Calendar.const.js +6 -5
  10. package/dist/components/Calendar/Calendar.helpers.cjs +1 -1
  11. package/dist/components/Calendar/Calendar.helpers.js +4 -4
  12. package/dist/components/Calendar/Calendar.js +128 -128
  13. package/dist/components/Cascader/Cascader.cjs +1 -0
  14. package/dist/components/Cascader/Cascader.const.cjs +1 -0
  15. package/dist/components/Cascader/Cascader.const.d.ts +33 -0
  16. package/dist/components/Cascader/Cascader.const.js +21 -0
  17. package/dist/components/Cascader/Cascader.d.ts +17 -0
  18. package/dist/components/Cascader/Cascader.js +227 -0
  19. package/dist/components/Cascader/Cascader.types.d.ts +94 -0
  20. package/dist/components/Cascader/index.d.ts +2 -0
  21. package/dist/components/CommandPalette/CommandPalette.cjs +1 -0
  22. package/dist/components/CommandPalette/CommandPalette.const.cjs +1 -0
  23. package/dist/components/CommandPalette/CommandPalette.const.d.ts +25 -0
  24. package/dist/components/CommandPalette/CommandPalette.const.js +13 -0
  25. package/dist/components/CommandPalette/CommandPalette.d.ts +18 -0
  26. package/dist/components/CommandPalette/CommandPalette.js +190 -0
  27. package/dist/components/CommandPalette/CommandPalette.types.d.ts +90 -0
  28. package/dist/components/CommandPalette/CommandPalette.utils.cjs +1 -0
  29. package/dist/components/CommandPalette/CommandPalette.utils.d.ts +17 -0
  30. package/dist/components/CommandPalette/CommandPalette.utils.js +63 -0
  31. package/dist/components/CommandPalette/index.d.ts +2 -0
  32. package/dist/components/CreditInput/CreditInput.cjs +1 -0
  33. package/dist/components/CreditInput/CreditInput.const.cjs +1 -0
  34. package/dist/components/CreditInput/CreditInput.const.d.ts +37 -0
  35. package/dist/components/CreditInput/CreditInput.const.js +66 -0
  36. package/dist/components/CreditInput/CreditInput.d.ts +15 -0
  37. package/dist/components/CreditInput/CreditInput.js +214 -0
  38. package/dist/components/CreditInput/CreditInput.types.d.ts +93 -0
  39. package/dist/components/CreditInput/CreditInput.utils.cjs +1 -0
  40. package/dist/components/CreditInput/CreditInput.utils.d.ts +48 -0
  41. package/dist/components/CreditInput/CreditInput.utils.js +79 -0
  42. package/dist/components/CreditInput/index.d.ts +2 -0
  43. package/dist/components/DatePicker/DatePicker.cjs +1 -1
  44. package/dist/components/DatePicker/DatePicker.js +108 -84
  45. package/dist/components/DatePicker/DatePicker.types.d.ts +2 -1
  46. package/dist/components/Drawer/Drawer.cjs +1 -1
  47. package/dist/components/Drawer/Drawer.js +75 -44
  48. package/dist/components/Form/Form.cjs +1 -0
  49. package/dist/components/Form/Form.const.cjs +1 -0
  50. package/dist/components/Form/Form.const.d.ts +33 -0
  51. package/dist/components/Form/Form.const.js +27 -0
  52. package/dist/components/Form/Form.context.cjs +1 -0
  53. package/dist/components/Form/Form.context.d.ts +13 -0
  54. package/dist/components/Form/Form.context.js +12 -0
  55. package/dist/components/Form/Form.d.ts +18 -0
  56. package/dist/components/Form/Form.js +230 -0
  57. package/dist/components/Form/Form.types.d.ts +166 -0
  58. package/dist/components/Form/Form.utils.cjs +1 -0
  59. package/dist/components/Form/Form.utils.d.ts +17 -0
  60. package/dist/components/Form/Form.utils.js +31 -0
  61. package/dist/components/Form/index.d.ts +3 -0
  62. package/dist/components/Input/Input.cjs +1 -1
  63. package/dist/components/Input/Input.js +36 -36
  64. package/dist/components/NotificationCenter/NotificationCenter.cjs +1 -0
  65. package/dist/components/NotificationCenter/NotificationCenter.const.cjs +1 -0
  66. package/dist/components/NotificationCenter/NotificationCenter.const.d.ts +25 -0
  67. package/dist/components/NotificationCenter/NotificationCenter.const.js +28 -0
  68. package/dist/components/NotificationCenter/NotificationCenter.d.ts +15 -0
  69. package/dist/components/NotificationCenter/NotificationCenter.js +223 -0
  70. package/dist/components/NotificationCenter/NotificationCenter.types.d.ts +117 -0
  71. package/dist/components/NotificationCenter/NotificationCenter.utils.cjs +1 -0
  72. package/dist/components/NotificationCenter/NotificationCenter.utils.d.ts +11 -0
  73. package/dist/components/NotificationCenter/NotificationCenter.utils.js +19 -0
  74. package/dist/components/NotificationCenter/index.d.ts +2 -0
  75. package/dist/components/PhoneInput/PhoneInput.cjs +1 -0
  76. package/dist/components/PhoneInput/PhoneInput.const.cjs +1 -0
  77. package/dist/components/PhoneInput/PhoneInput.const.d.ts +33 -0
  78. package/dist/components/PhoneInput/PhoneInput.const.js +82 -0
  79. package/dist/components/PhoneInput/PhoneInput.d.ts +16 -0
  80. package/dist/components/PhoneInput/PhoneInput.js +194 -0
  81. package/dist/components/PhoneInput/PhoneInput.types.d.ts +108 -0
  82. package/dist/components/PhoneInput/PhoneInput.utils.cjs +1 -0
  83. package/dist/components/PhoneInput/PhoneInput.utils.d.ts +25 -0
  84. package/dist/components/PhoneInput/PhoneInput.utils.js +39 -0
  85. package/dist/components/PhoneInput/index.d.ts +2 -0
  86. package/dist/components/Select/Select.cjs +1 -1
  87. package/dist/components/Select/Select.js +37 -37
  88. package/dist/components/Sidebar/Sidebar.cjs +1 -1
  89. package/dist/components/Sidebar/Sidebar.const.cjs +1 -1
  90. package/dist/components/Sidebar/Sidebar.const.d.ts +6 -2
  91. package/dist/components/Sidebar/Sidebar.const.js +24 -17
  92. package/dist/components/Sidebar/Sidebar.js +36 -31
  93. package/dist/components/Sidebar/Sidebar.types.d.ts +9 -0
  94. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.cjs +1 -1
  95. package/dist/components/Sidebar/components/SidebarItem/SidebarItem.js +30 -29
  96. package/dist/components/SignPad/SignPad.cjs +1 -1
  97. package/dist/components/SignPad/SignPad.js +56 -56
  98. package/dist/components/TimePicker/TimePicker.cjs +1 -1
  99. package/dist/components/TimePicker/TimePicker.constants.cjs +1 -1
  100. package/dist/components/TimePicker/TimePicker.constants.d.ts +22 -1
  101. package/dist/components/TimePicker/TimePicker.constants.js +36 -19
  102. package/dist/components/TimePicker/TimePicker.js +97 -131
  103. package/dist/components/TimePicker/TimePicker.types.d.ts +47 -6
  104. package/dist/components/TimePicker/components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.cjs +1 -0
  105. package/dist/components/TimePicker/components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.d.ts +3 -0
  106. package/dist/components/TimePicker/components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.js +81 -0
  107. package/dist/components/TimePicker/components/TimePickerColumnsDropdown/index.d.ts +1 -0
  108. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.cjs +1 -0
  109. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.d.ts +3 -0
  110. package/dist/components/TimePicker/components/TimePickerDialDropdown/TimePickerDialDropdown.js +84 -0
  111. package/dist/components/TimePicker/components/TimePickerDialDropdown/index.d.ts +1 -0
  112. package/dist/components/TimePicker/helpers/ClockFaceSvg.cjs +1 -0
  113. package/dist/components/TimePicker/helpers/ClockFaceSvg.d.ts +18 -0
  114. package/dist/components/TimePicker/helpers/ClockFaceSvg.js +67 -0
  115. package/dist/components/TimePicker/helpers/index.d.ts +2 -0
  116. package/dist/components/TimePicker/index.d.ts +1 -1
  117. package/dist/components/index.cjs +1 -1
  118. package/dist/components/index.d.ts +13 -3
  119. package/dist/components/index.js +139 -126
  120. package/dist/context/BearProvider.cjs +1 -1
  121. package/dist/context/BearProvider.js +25 -25
  122. package/dist/index.cjs +1 -1
  123. package/dist/index.js +247 -234
  124. package/dist/styles.css +1 -1
  125. package/package.json +1 -1
  126. package/dist/components/DateTimePicker/DateTimePicker.cjs +0 -1
  127. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -3
  128. package/dist/components/DateTimePicker/DateTimePicker.js +0 -178
  129. package/dist/components/DateTimePicker/DateTimePicker.types.d.ts +0 -26
  130. package/dist/components/DateTimePicker/DateTimePicker.utils.cjs +0 -1
  131. package/dist/components/DateTimePicker/DateTimePicker.utils.d.ts +0 -2
  132. package/dist/components/DateTimePicker/DateTimePicker.utils.js +0 -16
  133. package/dist/components/DateTimePicker/index.d.ts +0 -2
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=12,r=24,a=60,b={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},E={default:"bear-bg-white dark:bear-bg-zinc-800 bear-border-gray-300 dark:bear-border-zinc-600",filled:"bear-bg-gray-100 dark:bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-gray-400 dark:bear-border-zinc-500"},t="Bear-TimePicker bear-relative",_="Bear-TimePicker__label bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-zinc-300 bear-mb-1.5",S="Bear-TimePicker__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",I="Bear-TimePicker__dropdown bear-absolute bear-z-50 bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64",C="Bear-TimePicker__column-header bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mb-1 bear-text-center",T="Bear-TimePicker__column bear-h-32 bear-overflow-y-auto bear-space-y-1",o="Bear-TimePicker__option bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",i="bear-bg-pink-500 bear-text-white",n="bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",R="Bear-TimePicker__footer bear-flex bear-gap-2 bear-pt-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700",c="Bear-TimePicker__clear bear-flex-1 bear-py-1.5 bear-text-sm bear-text-gray-500 dark:bear-text-zinc-400 hover:bear-text-gray-700 dark:hover:bear-text-white bear-rounded bear-border bear-border-gray-300 dark:bear-border-zinc-600",P="Bear-TimePicker__confirm bear-flex-1 bear-py-1.5 bear-text-sm bear-bg-pink-500 bear-text-white bear-rounded hover:bear-bg-pink-600",s="Bear-TimePicker__error bear-mt-1 bear-text-xs bear-text-red-500",d="Bear-TimePicker__helper bear-mt-1 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500";exports.TIMEPICKER_BUTTON_CLASSES=S;exports.TIMEPICKER_CLEAR_BUTTON_CLASSES=c;exports.TIMEPICKER_COLUMN_CLASSES=T;exports.TIMEPICKER_COLUMN_HEADER_CLASSES=C;exports.TIMEPICKER_CONFIRM_BUTTON_CLASSES=P;exports.TIMEPICKER_DROPDOWN_CLASSES=I;exports.TIMEPICKER_ERROR_CLASSES=s;exports.TIMEPICKER_FOOTER_CLASSES=R;exports.TIMEPICKER_HELPER_CLASSES=d;exports.TIMEPICKER_HOURS_12H=e;exports.TIMEPICKER_HOURS_24H=r;exports.TIMEPICKER_LABEL_CLASSES=_;exports.TIMEPICKER_MINUTES_DIVISOR=a;exports.TIMEPICKER_OPTION_ACTIVE_CLASSES=i;exports.TIMEPICKER_OPTION_CLASSES=o;exports.TIMEPICKER_OPTION_INACTIVE_CLASSES=n;exports.TIMEPICKER_ROOT_CLASSES=t;exports.sizeClasses=b;exports.variantClasses=E;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=12,r=24,a=60,E=768,_="12h",I="24h",b="auto",t="dial",T="columns",C=80,S=100,R=[12,1,2,3,4,5,6,7,8,9,10,11],o={selectTime:"SELECT TIME",hour:"Hour",minute:"Minute",period:"Period",cancel:"CANCEL",ok:"OK"},n={sm:"bear-py-1.5 bear-px-3 bear-text-sm",md:"bear-py-2 bear-px-4",lg:"bear-py-2.5 bear-px-5 bear-text-lg"},P={default:"bear-bg-white dark:bear-bg-zinc-800 bear-border-gray-300 dark:bear-border-zinc-600",filled:"bear-bg-gray-100 dark:bear-bg-zinc-700 bear-border-transparent",outline:"bear-bg-transparent bear-border-gray-400 dark:bear-border-zinc-500"},i="Bear-TimePicker bear-relative",c="Bear-TimePicker__label bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-zinc-300 bear-mb-1.5",A="Bear-TimePicker__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors",s="Bear-TimePicker__dropdown bear-absolute bear-z-[9999] bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64",O="Bear-TimePicker__column-header bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mb-1 bear-text-center",M="Bear-TimePicker__column bear-h-32 bear-overflow-y-auto bear-space-y-1",L="Bear-TimePicker__option bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors",K="bear-bg-pink-500 bear-text-white",d="bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700",l="Bear-TimePicker__footer bear-flex bear-gap-2 bear-pt-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700",N="Bear-TimePicker__clear bear-flex-1 bear-py-1.5 bear-text-sm bear-text-gray-500 dark:bear-text-zinc-400 hover:bear-text-gray-700 dark:hover:bear-text-white bear-rounded bear-border bear-border-gray-300 dark:bear-border-zinc-600",x="Bear-TimePicker__confirm bear-flex-1 bear-py-1.5 bear-text-sm bear-bg-pink-500 bear-text-white bear-rounded hover:bear-bg-pink-600",g="Bear-TimePicker__error bear-mt-1 bear-text-xs bear-text-red-500",m="Bear-TimePicker__helper bear-mt-1 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500";exports.CLOCK_CENTER=S;exports.CLOCK_HOURS_12=R;exports.CLOCK_RADIUS=C;exports.TIMEPICKER_BUTTON_CLASSES=A;exports.TIMEPICKER_CLEAR_BUTTON_CLASSES=N;exports.TIMEPICKER_COLUMN_CLASSES=M;exports.TIMEPICKER_COLUMN_HEADER_CLASSES=O;exports.TIMEPICKER_CONFIRM_BUTTON_CLASSES=x;exports.TIMEPICKER_DEFAULT_BREAKPOINT=E;exports.TIMEPICKER_DEFAULT_TRANSLATIONS=o;exports.TIMEPICKER_DROPDOWN_CLASSES=s;exports.TIMEPICKER_ERROR_CLASSES=g;exports.TIMEPICKER_FOOTER_CLASSES=l;exports.TIMEPICKER_FORMAT_12H=_;exports.TIMEPICKER_FORMAT_24H=I;exports.TIMEPICKER_HELPER_CLASSES=m;exports.TIMEPICKER_HOURS_12H=e;exports.TIMEPICKER_HOURS_24H=r;exports.TIMEPICKER_LABEL_CLASSES=c;exports.TIMEPICKER_MINUTES_DIVISOR=a;exports.TIMEPICKER_OPTION_ACTIVE_CLASSES=K;exports.TIMEPICKER_OPTION_CLASSES=L;exports.TIMEPICKER_OPTION_INACTIVE_CLASSES=d;exports.TIMEPICKER_ROOT_CLASSES=i;exports.TIMEPICKER_VARIANT_AUTO=b;exports.TIMEPICKER_VARIANT_COLUMNS=T;exports.TIMEPICKER_VARIANT_DIAL=t;exports.sizeClasses=n;exports.variantClasses=P;
@@ -1,12 +1,33 @@
1
1
  export declare const TIMEPICKER_HOURS_12H = 12;
2
2
  export declare const TIMEPICKER_HOURS_24H = 24;
3
3
  export declare const TIMEPICKER_MINUTES_DIVISOR = 60;
4
+ export declare const TIMEPICKER_DEFAULT_BREAKPOINT = 768;
5
+ /** Format constants */
6
+ export declare const TIMEPICKER_FORMAT_12H = "12h";
7
+ export declare const TIMEPICKER_FORMAT_24H = "24h";
8
+ /** Dropdown variant constants */
9
+ export declare const TIMEPICKER_VARIANT_AUTO = "auto";
10
+ export declare const TIMEPICKER_VARIANT_DIAL = "dial";
11
+ export declare const TIMEPICKER_VARIANT_COLUMNS = "columns";
12
+ /** Clock face constants */
13
+ export declare const CLOCK_RADIUS = 80;
14
+ export declare const CLOCK_CENTER = 100;
15
+ export declare const CLOCK_HOURS_12: readonly [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
16
+ /** Default translation strings */
17
+ export declare const TIMEPICKER_DEFAULT_TRANSLATIONS: {
18
+ readonly selectTime: "SELECT TIME";
19
+ readonly hour: "Hour";
20
+ readonly minute: "Minute";
21
+ readonly period: "Period";
22
+ readonly cancel: "CANCEL";
23
+ readonly ok: "OK";
24
+ };
4
25
  export declare const sizeClasses: Record<'sm' | 'md' | 'lg', string>;
5
26
  export declare const variantClasses: Record<'default' | 'filled' | 'outline', string>;
6
27
  export declare const TIMEPICKER_ROOT_CLASSES = "Bear-TimePicker bear-relative";
7
28
  export declare const TIMEPICKER_LABEL_CLASSES = "Bear-TimePicker__label bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-zinc-300 bear-mb-1.5";
8
29
  export declare const TIMEPICKER_BUTTON_CLASSES = "Bear-TimePicker__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors";
9
- export declare const TIMEPICKER_DROPDOWN_CLASSES = "Bear-TimePicker__dropdown bear-absolute bear-z-50 bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64";
30
+ export declare const TIMEPICKER_DROPDOWN_CLASSES = "Bear-TimePicker__dropdown bear-absolute bear-z-[9999] bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64";
10
31
  export declare const TIMEPICKER_COLUMN_HEADER_CLASSES = "Bear-TimePicker__column-header bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mb-1 bear-text-center";
11
32
  export declare const TIMEPICKER_COLUMN_CLASSES = "Bear-TimePicker__column bear-h-32 bear-overflow-y-auto bear-space-y-1";
12
33
  export declare const TIMEPICKER_OPTION_CLASSES = "Bear-TimePicker__option bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors";
@@ -1,30 +1,47 @@
1
- const e = 12, r = 24, a = 60, b = {
1
+ const e = 12, r = 24, a = 60, b = 768, t = "12h", o = "24h", E = "auto", _ = "dial", n = "columns", c = 80, i = 100, I = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], T = {
2
+ selectTime: "SELECT TIME",
3
+ hour: "Hour",
4
+ minute: "Minute",
5
+ period: "Period",
6
+ cancel: "CANCEL",
7
+ ok: "OK"
8
+ }, s = {
2
9
  sm: "bear-py-1.5 bear-px-3 bear-text-sm",
3
10
  md: "bear-py-2 bear-px-4",
4
11
  lg: "bear-py-2.5 bear-px-5 bear-text-lg"
5
- }, t = {
12
+ }, C = {
6
13
  default: "bear-bg-white dark:bear-bg-zinc-800 bear-border-gray-300 dark:bear-border-zinc-600",
7
14
  filled: "bear-bg-gray-100 dark:bear-bg-zinc-700 bear-border-transparent",
8
15
  outline: "bear-bg-transparent bear-border-gray-400 dark:bear-border-zinc-500"
9
- }, o = "Bear-TimePicker bear-relative", i = "Bear-TimePicker__label bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-zinc-300 bear-mb-1.5", _ = "Bear-TimePicker__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors", n = "Bear-TimePicker__dropdown bear-absolute bear-z-50 bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64", E = "Bear-TimePicker__column-header bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mb-1 bear-text-center", c = "Bear-TimePicker__column bear-h-32 bear-overflow-y-auto bear-space-y-1", d = "Bear-TimePicker__option bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors", s = "bear-bg-pink-500 bear-text-white", S = "bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700", I = "Bear-TimePicker__footer bear-flex bear-gap-2 bear-pt-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700", T = "Bear-TimePicker__clear bear-flex-1 bear-py-1.5 bear-text-sm bear-text-gray-500 dark:bear-text-zinc-400 hover:bear-text-gray-700 dark:hover:bear-text-white bear-rounded bear-border bear-border-gray-300 dark:bear-border-zinc-600", C = "Bear-TimePicker__confirm bear-flex-1 bear-py-1.5 bear-text-sm bear-bg-pink-500 bear-text-white bear-rounded hover:bear-bg-pink-600", x = "Bear-TimePicker__error bear-mt-1 bear-text-xs bear-text-red-500", P = "Bear-TimePicker__helper bear-mt-1 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500";
16
+ }, d = "Bear-TimePicker bear-relative", S = "Bear-TimePicker__label bear-block bear-text-sm bear-font-medium bear-text-gray-700 dark:bear-text-zinc-300 bear-mb-1.5", R = "Bear-TimePicker__trigger bear-w-full bear-flex bear-items-center bear-justify-between bear-rounded-lg bear-border bear-text-left bear-transition-colors", P = "Bear-TimePicker__dropdown bear-absolute bear-z-[9999] bear-mt-1 bear-bg-white dark:bear-bg-zinc-800 bear-border bear-border-gray-200 dark:bear-border-zinc-700 bear-rounded-lg bear-shadow-xl bear-p-3 bear-w-64", x = "Bear-TimePicker__column-header bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500 bear-mb-1 bear-text-center", l = "Bear-TimePicker__column bear-h-32 bear-overflow-y-auto bear-space-y-1", A = "Bear-TimePicker__option bear-w-full bear-py-1 bear-rounded bear-text-sm bear-transition-colors", m = "bear-bg-pink-500 bear-text-white", M = "bear-text-gray-700 dark:bear-text-zinc-300 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700", O = "Bear-TimePicker__footer bear-flex bear-gap-2 bear-pt-2 bear-border-t bear-border-gray-200 dark:bear-border-zinc-700", g = "Bear-TimePicker__clear bear-flex-1 bear-py-1.5 bear-text-sm bear-text-gray-500 dark:bear-text-zinc-400 hover:bear-text-gray-700 dark:hover:bear-text-white bear-rounded bear-border bear-border-gray-300 dark:bear-border-zinc-600", k = "Bear-TimePicker__confirm bear-flex-1 bear-py-1.5 bear-text-sm bear-bg-pink-500 bear-text-white bear-rounded hover:bear-bg-pink-600", L = "Bear-TimePicker__error bear-mt-1 bear-text-xs bear-text-red-500", K = "Bear-TimePicker__helper bear-mt-1 bear-text-xs bear-text-gray-500 dark:bear-text-zinc-500";
10
17
  export {
11
- _ as TIMEPICKER_BUTTON_CLASSES,
12
- T as TIMEPICKER_CLEAR_BUTTON_CLASSES,
13
- c as TIMEPICKER_COLUMN_CLASSES,
14
- E as TIMEPICKER_COLUMN_HEADER_CLASSES,
15
- C as TIMEPICKER_CONFIRM_BUTTON_CLASSES,
16
- n as TIMEPICKER_DROPDOWN_CLASSES,
17
- x as TIMEPICKER_ERROR_CLASSES,
18
- I as TIMEPICKER_FOOTER_CLASSES,
19
- P as TIMEPICKER_HELPER_CLASSES,
18
+ i as CLOCK_CENTER,
19
+ I as CLOCK_HOURS_12,
20
+ c as CLOCK_RADIUS,
21
+ R as TIMEPICKER_BUTTON_CLASSES,
22
+ g as TIMEPICKER_CLEAR_BUTTON_CLASSES,
23
+ l as TIMEPICKER_COLUMN_CLASSES,
24
+ x as TIMEPICKER_COLUMN_HEADER_CLASSES,
25
+ k as TIMEPICKER_CONFIRM_BUTTON_CLASSES,
26
+ b as TIMEPICKER_DEFAULT_BREAKPOINT,
27
+ T as TIMEPICKER_DEFAULT_TRANSLATIONS,
28
+ P as TIMEPICKER_DROPDOWN_CLASSES,
29
+ L as TIMEPICKER_ERROR_CLASSES,
30
+ O as TIMEPICKER_FOOTER_CLASSES,
31
+ t as TIMEPICKER_FORMAT_12H,
32
+ o as TIMEPICKER_FORMAT_24H,
33
+ K as TIMEPICKER_HELPER_CLASSES,
20
34
  e as TIMEPICKER_HOURS_12H,
21
35
  r as TIMEPICKER_HOURS_24H,
22
- i as TIMEPICKER_LABEL_CLASSES,
36
+ S as TIMEPICKER_LABEL_CLASSES,
23
37
  a as TIMEPICKER_MINUTES_DIVISOR,
24
- s as TIMEPICKER_OPTION_ACTIVE_CLASSES,
25
- d as TIMEPICKER_OPTION_CLASSES,
26
- S as TIMEPICKER_OPTION_INACTIVE_CLASSES,
27
- o as TIMEPICKER_ROOT_CLASSES,
28
- b as sizeClasses,
29
- t as variantClasses
38
+ m as TIMEPICKER_OPTION_ACTIVE_CLASSES,
39
+ A as TIMEPICKER_OPTION_CLASSES,
40
+ M as TIMEPICKER_OPTION_INACTIVE_CLASSES,
41
+ d as TIMEPICKER_ROOT_CLASSES,
42
+ E as TIMEPICKER_VARIANT_AUTO,
43
+ n as TIMEPICKER_VARIANT_COLUMNS,
44
+ _ as TIMEPICKER_VARIANT_DIAL,
45
+ s as sizeClasses,
46
+ C as variantClasses
30
47
  };
@@ -1,146 +1,112 @@
1
- import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
- import { useState as E, useRef as z, useEffect as x } from "react";
3
- import { DateTimePicker as F } from "../DateTimePicker/DateTimePicker.js";
4
- import { cn as l } from "../../utils/cn.js";
5
- import { formatTime as W } from "./TimePicker.utils.js";
6
- import { TIMEPICKER_HOURS_12H as q, TIMEPICKER_HOURS_24H as G, TIMEPICKER_MINUTES_DIVISOR as J, TIMEPICKER_LABEL_CLASSES as Q, variantClasses as X, sizeClasses as Y, TIMEPICKER_BUTTON_CLASSES as Z, TIMEPICKER_ERROR_CLASSES as $, TIMEPICKER_HELPER_CLASSES as g, TIMEPICKER_DROPDOWN_CLASSES as ee, TIMEPICKER_COLUMN_HEADER_CLASSES as u, TIMEPICKER_COLUMN_CLASSES as y, TIMEPICKER_OPTION_ACTIVE_CLASSES as N, TIMEPICKER_OPTION_INACTIVE_CLASSES as f, TIMEPICKER_OPTION_CLASSES as R, TIMEPICKER_FOOTER_CLASSES as te, TIMEPICKER_CLEAR_BUTTON_CLASSES as re, TIMEPICKER_CONFIRM_BUTTON_CLASSES as se, TIMEPICKER_ROOT_CLASSES as ie } from "./TimePicker.constants.js";
7
- const Ee = ({
8
- mode: H = "time",
9
- value: m,
10
- onChange: s,
11
- disabled: n = !1,
12
- placeholder: T = "Select time",
13
- label: S,
14
- error: c,
15
- helperText: I,
16
- format: o = "12h",
17
- minuteStep: _ = 5,
18
- clearable: M = !0,
19
- className: P,
20
- size: b = "md",
21
- variant: O = "default",
22
- ...U
23
- }) => {
24
- if (H === "datetime")
25
- return /* @__PURE__ */ t(
26
- F,
27
- {
28
- value: m instanceof Date ? m : null,
29
- onChange: (e) => s == null ? void 0 : s(e),
30
- disabled: n,
31
- placeholder: T,
32
- label: S,
33
- error: c,
34
- helperText: I,
35
- timeFormat: o,
36
- minuteStep: _,
37
- clearable: M,
38
- className: P,
39
- size: b,
40
- variant: O,
41
- ...U
42
- }
43
- );
44
- const a = m, [A, d] = E(!1), [L, p] = E(12), [h, v] = E(0), [k, K] = E("AM"), C = z(null);
45
- x(() => {
46
- if (a && typeof a == "string") {
47
- const [e, r] = a.split(" "), [V, j] = e.split(":").map(Number);
48
- p(V), v(j), r && K(r);
1
+ import { jsx as a, jsxs as U } from "react/jsx-runtime";
2
+ import { useState as u, useRef as g, useEffect as z, useCallback as _, useMemo as ee } from "react";
3
+ import { cn as B } from "../../utils/cn.js";
4
+ import { useMediaQuery as te } from "../../hooks/useMediaQuery.js";
5
+ import { formatTime as re } from "./TimePicker.utils.js";
6
+ import { TIMEPICKER_DEFAULT_BREAKPOINT as ae, TIMEPICKER_VARIANT_COLUMNS as R, TIMEPICKER_FORMAT_12H as E, TIMEPICKER_HOURS_12H as oe, TIMEPICKER_HOURS_24H as ne, TIMEPICKER_MINUTES_DIVISOR as se, TIMEPICKER_VARIANT_DIAL as S, TIMEPICKER_LABEL_CLASSES as le, variantClasses as de, sizeClasses as ie, TIMEPICKER_BUTTON_CLASSES as ce, TIMEPICKER_ERROR_CLASSES as me, TIMEPICKER_HELPER_CLASSES as ue, TIMEPICKER_ROOT_CLASSES as Ee, TIMEPICKER_FORMAT_24H as fe, TIMEPICKER_VARIANT_AUTO as Ie } from "./TimePicker.constants.js";
7
+ import { TimePickerColumnsDropdown as pe } from "./components/TimePickerColumnsDropdown/TimePickerColumnsDropdown.js";
8
+ import { TimePickerDialDropdown as Ce } from "./components/TimePickerDialDropdown/TimePickerDialDropdown.js";
9
+ const Te = /* @__PURE__ */ a("svg", { className: "bear-w-5 bear-h-5 bear-text-gray-400 dark:bear-text-zinc-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ a("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" }) }), ke = (e) => {
10
+ const F = {
11
+ value: e.value,
12
+ onChange: e.onChange,
13
+ disabled: e.disabled ?? !1,
14
+ placeholder: e.placeholder ?? "Select time",
15
+ label: e.label,
16
+ error: e.error,
17
+ helperText: e.helperText,
18
+ format: e.format ?? E,
19
+ minuteStep: e.minuteStep ?? 5,
20
+ clearable: e.clearable ?? !0,
21
+ className: e.className,
22
+ size: e.size ?? "md",
23
+ variant: e.variant ?? "default",
24
+ dropdownVariant: e.dropdownVariant ?? R,
25
+ dropdownVariantBreakpoint: e.dropdownVariantBreakpoint ?? ae,
26
+ icon: e.icon,
27
+ translations: e.translations
28
+ }, {
29
+ value: P,
30
+ onChange: n,
31
+ disabled: f,
32
+ placeholder: j,
33
+ label: b,
34
+ error: l,
35
+ helperText: h,
36
+ format: s,
37
+ minuteStep: I,
38
+ clearable: M,
39
+ className: W,
40
+ size: Q,
41
+ variant: $,
42
+ dropdownVariant: A,
43
+ dropdownVariantBreakpoint: q,
44
+ icon: G,
45
+ translations: N
46
+ } = F, J = te(`(min-width: ${q}px)`), k = A === Ie ? J ? S : R : A, v = k === S && s === fe ? R : k, r = P, [p, d] = u(!1), [i, w] = u(12), [c, L] = u(0), [m, O] = u("AM"), C = g(null);
47
+ z(() => {
48
+ if (r && typeof r == "string") {
49
+ const [o, t] = r.split(" "), [Y, Z] = o.split(":").map(Number);
50
+ w(Y), L(Z), t && O(t);
49
51
  }
50
- }, [a]), x(() => {
51
- const e = (r) => {
52
- C.current && !C.current.contains(r.target) && d(!1);
52
+ }, [r]), z(() => {
53
+ const o = (t) => {
54
+ C.current && !C.current.contains(t.target) && d(!1);
53
55
  };
54
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
56
+ return document.addEventListener("mousedown", o), () => document.removeEventListener("mousedown", o);
55
57
  }, []);
56
- const w = () => {
57
- s == null || s(W(L, h, k, o)), d(!1);
58
- }, D = o === "12h" ? Array.from({ length: q }, (e, r) => r + 1) : Array.from({ length: G }, (e, r) => r), B = Array.from(
59
- { length: J / _ },
60
- (e, r) => r * _
61
- );
62
- return /* @__PURE__ */ i("div", { ref: C, className: l(ie, P), children: [
63
- S && /* @__PURE__ */ t("label", { className: Q, children: S }),
64
- /* @__PURE__ */ i(
58
+ const K = _(() => {
59
+ n == null || n(re(i, c, m, s ?? E)), d(!1);
60
+ }, [n, i, c, m, s]), x = s === E ? Array.from({ length: oe }, (o, t) => t + 1) : Array.from({ length: ne }, (o, t) => t), V = Array.from(
61
+ { length: se / (I ?? 5) },
62
+ (o, t) => t * (I ?? 5)
63
+ ), y = _(() => d(!1), []), H = s ?? E, D = I ?? 5, T = ee(
64
+ () => ({
65
+ selectedHour: i,
66
+ setSelectedHour: w,
67
+ selectedMinute: c,
68
+ setSelectedMinute: L,
69
+ period: m,
70
+ setPeriod: O,
71
+ format: H,
72
+ hours: x,
73
+ minutes: V,
74
+ timeValue: r,
75
+ clearable: M ?? !0,
76
+ onChange: n,
77
+ onConfirm: K,
78
+ onClose: y,
79
+ translations: N
80
+ }),
81
+ [i, c, m, H, x, V, r, M, n, K, y, N]
82
+ ), X = _(() => p ? v === S ? /* @__PURE__ */ a(Ce, { ...T, minuteStep: D }) : /* @__PURE__ */ a(pe, { ...T }) : null, [p, v, T, D]);
83
+ return /* @__PURE__ */ U("div", { ref: C, className: B(Ee, W), children: [
84
+ b && /* @__PURE__ */ a("label", { className: le, children: b }),
85
+ /* @__PURE__ */ U(
65
86
  "button",
66
87
  {
67
88
  type: "button",
68
- onClick: () => !n && d(!A),
69
- disabled: n,
70
- className: l(
71
- Z,
72
- Y[b],
73
- X[O],
74
- c ? "bear-border-red-500" : "focus:bear-border-pink-500",
75
- n && "bear-opacity-50 bear-cursor-not-allowed",
76
- a ? "bear-text-gray-900 dark:bear-text-white" : "bear-text-gray-400 dark:bear-text-zinc-500"
89
+ onClick: () => !f && d(!p),
90
+ disabled: f,
91
+ className: B(
92
+ ce,
93
+ ie[Q ?? "md"],
94
+ de[$ ?? "default"],
95
+ l ? "bear-border-red-500" : "focus:bear-border-pink-500",
96
+ f && "bear-opacity-50 bear-cursor-not-allowed",
97
+ r ? "bear-text-gray-900 dark:bear-text-white" : "bear-text-gray-400 dark:bear-text-zinc-500"
77
98
  ),
78
99
  children: [
79
- /* @__PURE__ */ t("span", { children: a || T }),
80
- /* @__PURE__ */ t("svg", { className: "bear-w-5 bear-h-5 bear-text-gray-400 dark:bear-text-zinc-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ t("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" }) })
100
+ /* @__PURE__ */ a("span", { children: r || j }),
101
+ G ?? Te
81
102
  ]
82
103
  }
83
104
  ),
84
- c && /* @__PURE__ */ t("p", { className: $, children: c }),
85
- I && !c && /* @__PURE__ */ t("p", { className: g, children: I }),
86
- A && /* @__PURE__ */ i("div", { className: ee, children: [
87
- /* @__PURE__ */ i("div", { className: "bear-flex bear-gap-2 bear-mb-3", children: [
88
- /* @__PURE__ */ i("div", { className: "bear-flex-1", children: [
89
- /* @__PURE__ */ t("div", { className: u, children: "Hour" }),
90
- /* @__PURE__ */ t("div", { className: y, children: D.map((e) => /* @__PURE__ */ t(
91
- "button",
92
- {
93
- onClick: () => p(e),
94
- className: l(
95
- R,
96
- L === e ? N : f
97
- ),
98
- children: e.toString().padStart(2, "0")
99
- },
100
- e
101
- )) })
102
- ] }),
103
- /* @__PURE__ */ i("div", { className: "bear-flex-1", children: [
104
- /* @__PURE__ */ t("div", { className: u, children: "Minute" }),
105
- /* @__PURE__ */ t("div", { className: y, children: B.map((e) => /* @__PURE__ */ t(
106
- "button",
107
- {
108
- onClick: () => v(e),
109
- className: l(
110
- R,
111
- h === e ? N : f
112
- ),
113
- children: e.toString().padStart(2, "0")
114
- },
115
- e
116
- )) })
117
- ] }),
118
- o === "12h" && /* @__PURE__ */ i("div", { className: "bear-flex-1", children: [
119
- /* @__PURE__ */ t("div", { className: u, children: "Period" }),
120
- /* @__PURE__ */ t("div", { className: "bear-space-y-1", children: ["AM", "PM"].map((e) => /* @__PURE__ */ t(
121
- "button",
122
- {
123
- onClick: () => K(e),
124
- className: l(
125
- R,
126
- "bear-py-2",
127
- k === e ? N : f
128
- ),
129
- children: e
130
- },
131
- e
132
- )) })
133
- ] })
134
- ] }),
135
- /* @__PURE__ */ i("div", { className: te, children: [
136
- M && a && /* @__PURE__ */ t("button", { onClick: () => {
137
- s == null || s(""), d(!1);
138
- }, className: re, children: "Clear" }),
139
- /* @__PURE__ */ t("button", { onClick: w, className: se, children: "Confirm" })
140
- ] })
141
- ] })
105
+ l && /* @__PURE__ */ a("p", { className: me, children: l }),
106
+ h && !l && /* @__PURE__ */ a("p", { className: ue, children: h }),
107
+ X()
142
108
  ] });
143
109
  };
144
110
  export {
145
- Ee as TimePicker
111
+ ke as TimePicker
146
112
  };
@@ -1,15 +1,48 @@
1
+ /** Dropdown variant: columns (scrollable lists), dial (clock face), auto (responsive). */
2
+ export type TimePickerDropdownVariant = 'columns' | 'dial' | 'auto';
3
+ /** Time format: 12-hour with AM/PM or 24-hour. */
4
+ export type TimePickerFormat = '12h' | '24h';
5
+ /** Translation keys for replaceable strings. */
6
+ export interface TimePickerTranslations {
7
+ selectTime?: string;
8
+ hour?: string;
9
+ minute?: string;
10
+ period?: string;
11
+ cancel?: string;
12
+ ok?: string;
13
+ }
14
+ /** Props for TimePickerColumnsDropdown sub-component. */
15
+ export interface TimePickerColumnsProps {
16
+ selectedHour: number;
17
+ setSelectedHour: (h: number) => void;
18
+ selectedMinute: number;
19
+ setSelectedMinute: (m: number) => void;
20
+ period: 'AM' | 'PM';
21
+ setPeriod: (p: 'AM' | 'PM') => void;
22
+ format: TimePickerFormat;
23
+ hours: number[];
24
+ minutes: number[];
25
+ timeValue?: string;
26
+ clearable: boolean;
27
+ onChange?: (time: string | null) => void;
28
+ onConfirm: () => void;
29
+ onClose: () => void;
30
+ translations?: TimePickerTranslations;
31
+ }
32
+ /** Props for TimePickerDialDropdown sub-component. */
33
+ export interface TimePickerDialProps extends TimePickerColumnsProps {
34
+ minuteStep: number;
35
+ }
1
36
  export interface TimePickerProps {
2
- /** Time-only (string) or date+time (Date). When 'datetime', uses Calendar + time. */
3
- mode?: 'time' | 'datetime';
4
- /** Time string (e.g. "02:30 PM") when mode='time'; Date when mode='datetime' */
5
- value?: string | Date | null;
6
- onChange?: (time: string | Date | null) => void;
37
+ /** Time string (e.g. "02:30 PM") */
38
+ value?: string | null;
39
+ onChange?: (time: string | null) => void;
7
40
  disabled?: boolean;
8
41
  placeholder?: string;
9
42
  label?: string;
10
43
  error?: string;
11
44
  helperText?: string;
12
- format?: '12h' | '24h';
45
+ format?: TimePickerFormat;
13
46
  minuteStep?: number;
14
47
  minTime?: string;
15
48
  maxTime?: string;
@@ -17,4 +50,12 @@ export interface TimePickerProps {
17
50
  className?: string;
18
51
  size?: 'sm' | 'md' | 'lg';
19
52
  variant?: 'default' | 'filled' | 'outline';
53
+ /** Dropdown variant: columns (scrollable lists), dial (clock face), auto (responsive by breakpoint). */
54
+ dropdownVariant?: TimePickerDropdownVariant;
55
+ /** Breakpoint (px) for auto: use dial above, columns below. Default 768. */
56
+ dropdownVariantBreakpoint?: number;
57
+ /** Custom icon to replace the default clock icon (ReactNode). */
58
+ icon?: React.ReactNode;
59
+ /** Translation overrides for selectTime, hour, minute, period, cancel, ok. */
60
+ translations?: TimePickerTranslations;
20
61
  }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("../../../../utils/cn.cjs"),e=require("../../TimePicker.constants.cjs"),O=({selectedHour:I,setSelectedHour:_,selectedMinute:r,setSelectedMinute:a,period:l,setPeriod:C,format:T,hours:n,minutes:N,timeValue:P,clearable:d,onChange:S,onConfirm:t,onClose:m,translations:A})=>{const c={...e.TIMEPICKER_DEFAULT_TRANSLATIONS,...A};return s.jsxs("div",{className:e.TIMEPICKER_DROPDOWN_CLASSES,children:[s.jsxs("div",{className:"Bear-TimePicker__columns bear-flex bear-gap-2 bear-mb-3",children:[s.jsxs("div",{className:"Bear-TimePicker__column bear-flex-1",children:[s.jsx("div",{className:e.TIMEPICKER_COLUMN_HEADER_CLASSES,children:c.hour}),s.jsx("div",{className:e.TIMEPICKER_COLUMN_CLASSES,children:n.map(E=>s.jsx("button",{onClick:()=>_(E),className:i.cn(e.TIMEPICKER_OPTION_CLASSES,I===E?e.TIMEPICKER_OPTION_ACTIVE_CLASSES:e.TIMEPICKER_OPTION_INACTIVE_CLASSES),children:E.toString().padStart(2,"0")},E))})]}),s.jsxs("div",{className:"Bear-TimePicker__column bear-flex-1",children:[s.jsx("div",{className:e.TIMEPICKER_COLUMN_HEADER_CLASSES,children:c.minute}),s.jsx("div",{className:e.TIMEPICKER_COLUMN_CLASSES,children:N.map(E=>s.jsx("button",{onClick:()=>a(E),className:i.cn(e.TIMEPICKER_OPTION_CLASSES,r===E?e.TIMEPICKER_OPTION_ACTIVE_CLASSES:e.TIMEPICKER_OPTION_INACTIVE_CLASSES),children:E.toString().padStart(2,"0")},E))})]}),T==="12h"&&s.jsxs("div",{className:"Bear-TimePicker__column bear-flex-1",children:[s.jsx("div",{className:e.TIMEPICKER_COLUMN_HEADER_CLASSES,children:c.period}),s.jsx("div",{className:"bear-space-y-1",children:["AM","PM"].map(E=>s.jsx("button",{onClick:()=>C(E),className:i.cn(e.TIMEPICKER_OPTION_CLASSES,"bear-py-2",l===E?e.TIMEPICKER_OPTION_ACTIVE_CLASSES:e.TIMEPICKER_OPTION_INACTIVE_CLASSES),children:E},E))})]})]}),s.jsxs("div",{className:e.TIMEPICKER_FOOTER_CLASSES,children:[d&&P&&s.jsx("button",{onClick:()=>{S==null||S(null),m()},className:e.TIMEPICKER_CLEAR_BUTTON_CLASSES,children:c.cancel}),s.jsx("button",{onClick:t,className:e.TIMEPICKER_CONFIRM_BUTTON_CLASSES,children:c.ok})]})]})};exports.TimePickerColumnsDropdown=O;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { TimePickerColumnsProps } from '../../TimePicker.types';
3
+ export declare const TimePickerColumnsDropdown: FC<TimePickerColumnsProps>;
@@ -0,0 +1,81 @@
1
+ import { jsxs as a, jsx as c } from "react/jsx-runtime";
2
+ import { cn as r } from "../../../../utils/cn.js";
3
+ import { TIMEPICKER_DROPDOWN_CLASSES as u, TIMEPICKER_DEFAULT_TRANSLATIONS as L, TIMEPICKER_COLUMN_HEADER_CLASSES as s, TIMEPICKER_COLUMN_CLASSES as d, TIMEPICKER_OPTION_ACTIVE_CLASSES as E, TIMEPICKER_OPTION_INACTIVE_CLASSES as m, TIMEPICKER_OPTION_CLASSES as n, TIMEPICKER_FOOTER_CLASSES as h, TIMEPICKER_CLEAR_BUTTON_CLASSES as v, TIMEPICKER_CONFIRM_BUTTON_CLASSES as k } from "../../TimePicker.constants.js";
4
+ const x = ({
5
+ selectedHour: S,
6
+ setSelectedHour: _,
7
+ selectedMinute: N,
8
+ setSelectedMinute: I,
9
+ period: T,
10
+ setPeriod: o,
11
+ format: t,
12
+ hours: C,
13
+ minutes: P,
14
+ timeValue: A,
15
+ clearable: O,
16
+ onChange: l,
17
+ onConfirm: R,
18
+ onClose: M,
19
+ translations: b
20
+ }) => {
21
+ const i = { ...L, ...b };
22
+ return /* @__PURE__ */ a("div", { className: u, children: [
23
+ /* @__PURE__ */ a("div", { className: "Bear-TimePicker__columns bear-flex bear-gap-2 bear-mb-3", children: [
24
+ /* @__PURE__ */ a("div", { className: "Bear-TimePicker__column bear-flex-1", children: [
25
+ /* @__PURE__ */ c("div", { className: s, children: i.hour }),
26
+ /* @__PURE__ */ c("div", { className: d, children: C.map((e) => /* @__PURE__ */ c(
27
+ "button",
28
+ {
29
+ onClick: () => _(e),
30
+ className: r(
31
+ n,
32
+ S === e ? E : m
33
+ ),
34
+ children: e.toString().padStart(2, "0")
35
+ },
36
+ e
37
+ )) })
38
+ ] }),
39
+ /* @__PURE__ */ a("div", { className: "Bear-TimePicker__column bear-flex-1", children: [
40
+ /* @__PURE__ */ c("div", { className: s, children: i.minute }),
41
+ /* @__PURE__ */ c("div", { className: d, children: P.map((e) => /* @__PURE__ */ c(
42
+ "button",
43
+ {
44
+ onClick: () => I(e),
45
+ className: r(
46
+ n,
47
+ N === e ? E : m
48
+ ),
49
+ children: e.toString().padStart(2, "0")
50
+ },
51
+ e
52
+ )) })
53
+ ] }),
54
+ t === "12h" && /* @__PURE__ */ a("div", { className: "Bear-TimePicker__column bear-flex-1", children: [
55
+ /* @__PURE__ */ c("div", { className: s, children: i.period }),
56
+ /* @__PURE__ */ c("div", { className: "bear-space-y-1", children: ["AM", "PM"].map((e) => /* @__PURE__ */ c(
57
+ "button",
58
+ {
59
+ onClick: () => o(e),
60
+ className: r(
61
+ n,
62
+ "bear-py-2",
63
+ T === e ? E : m
64
+ ),
65
+ children: e
66
+ },
67
+ e
68
+ )) })
69
+ ] })
70
+ ] }),
71
+ /* @__PURE__ */ a("div", { className: h, children: [
72
+ O && A && /* @__PURE__ */ c("button", { onClick: () => {
73
+ l == null || l(null), M();
74
+ }, className: v, children: i.cancel }),
75
+ /* @__PURE__ */ c("button", { onClick: R, className: k, children: i.ok })
76
+ ] })
77
+ ] });
78
+ };
79
+ export {
80
+ x as TimePickerColumnsDropdown
81
+ };
@@ -0,0 +1 @@
1
+ export { TimePickerColumnsDropdown } from './TimePickerColumnsDropdown';
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),M=require("react"),b=require("../../../../utils/cn.cjs"),a=require("../../TimePicker.constants.cjs"),B=require("../../helpers/ClockFaceSvg.cjs"),R=({selectedHour:i,setSelectedHour:d,selectedMinute:n,setSelectedMinute:m,period:x,setPeriod:u,format:t,hours:k,minutes:_,timeValue:h,clearable:T,onChange:s,onConfirm:p,onClose:S,translations:j})=>{const[N,l]=M.useState("hour"),c={...a.TIMEPICKER_DEFAULT_TRANSLATIONS,...j},P=t==="12h"?i===12?12:i%12:i,v=n,g=`${P.toString().padStart(2,"0")}:${v.toString().padStart(2,"0")}`,y=t==="12h"?[...a.CLOCK_HOURS_12]:k,o=N==="hour",C=o?y:_,E=o?r=>d(t==="12h"&&r===0?12:r):m;return e.jsxs("div",{className:b.cn(a.TIMEPICKER_DROPDOWN_CLASSES,"Bear-TimePicker__dial bear-w-72"),children:[e.jsx("div",{className:"Bear-TimePicker__dial-title bear-text-center bear-uppercase bear-text-xs bear-text-gray-500 dark:bear-text-zinc-400 bear-mb-2",children:c.selectTime}),e.jsxs("div",{className:"Bear-TimePicker__dial-display bear-flex bear-items-center bear-justify-center bear-gap-3 bear-mb-4",children:[e.jsx("span",{className:"Bear-TimePicker__dial-time bear-text-2xl bear-font-bold bear-text-gray-900 dark:bear-text-white",children:g}),t==="12h"&&e.jsx("div",{className:"Bear-TimePicker__dial-period bear-flex bear-flex-col bear-gap-0.5",children:["AM","PM"].map(r=>e.jsx("button",{onClick:()=>u(r),className:b.cn("Bear-TimePicker__dial-period-btn bear-px-2 bear-py-0.5 bear-rounded bear-text-sm bear-transition-colors",x===r?"bear-text-blue-600 dark:bear-text-blue-400 bear-font-medium":"bear-text-gray-400 dark:bear-text-zinc-500 hover:bear-text-gray-600 dark:hover:bear-text-zinc-400"),children:r},r))})]}),e.jsxs("div",{className:"Bear-TimePicker__dial-mode bear-flex bear-items-center bear-justify-center bear-gap-2 bear-mb-2",children:[e.jsx("button",{type:"button",onClick:()=>l("hour"),className:"Bear-TimePicker__dial-mode-btn bear-p-1 bear-rounded bear-text-gray-500 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700","aria-label":"Hour mode",children:e.jsx("svg",{className:"bear-w-4 bear-h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}),e.jsx("button",{type:"button",onClick:()=>l("minute"),className:"Bear-TimePicker__dial-mode-btn bear-p-1 bear-rounded bear-text-gray-500 hover:bear-bg-gray-100 dark:hover:bear-bg-zinc-700","aria-label":"Minute mode",children:e.jsx("svg",{className:"bear-w-4 bear-h-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})})})]}),e.jsx("div",{className:"Bear-TimePicker__dial-face bear-relative bear-w-48 bear-h-48 bear-mx-auto bear-mb-4",children:e.jsx(B.ClockFaceSvg,{values:C,isHourMode:o,format:t,selectedHour:i,selectedMinute:n,onSelect:E})}),e.jsxs("div",{className:a.TIMEPICKER_FOOTER_CLASSES,children:[T&&h&&e.jsx("button",{onClick:()=>{s==null||s(null),S()},className:a.TIMEPICKER_CLEAR_BUTTON_CLASSES,children:c.cancel}),e.jsx("button",{onClick:p,className:a.TIMEPICKER_CONFIRM_BUTTON_CLASSES,children:c.ok})]})]})};exports.TimePickerDialDropdown=R;
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { TimePickerDialProps } from '../../TimePicker.types';
3
+ export declare const TimePickerDialDropdown: FC<TimePickerDialProps>;