@indico-data/design-system 2.52.0 → 2.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/components/forms/date/datePicker/types.d.ts +3 -0
  2. package/lib/components/forms/input/Input.d.ts +2 -1
  3. package/lib/components/forms/timePicker/TimePicker.d.ts +7 -0
  4. package/lib/components/forms/timePicker/TimePicker.stories.d.ts +6 -0
  5. package/lib/components/forms/timePicker/__tests__/TimePicker.test.d.ts +1 -0
  6. package/lib/components/forms/timePicker/constants.d.ts +13 -0
  7. package/lib/components/forms/timePicker/helpers.d.ts +5 -0
  8. package/lib/components/forms/timePicker/index.d.ts +1 -0
  9. package/lib/index.css +120 -1
  10. package/lib/index.d.ts +13 -2
  11. package/lib/index.esm.css +120 -1
  12. package/lib/index.esm.js +151 -94
  13. package/lib/index.esm.js.map +1 -1
  14. package/lib/index.js +151 -93
  15. package/lib/index.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/components/forms/date/datePicker/DatePicker.stories.tsx +67 -4
  18. package/src/components/forms/date/datePicker/DatePicker.tsx +28 -2
  19. package/src/components/forms/date/datePicker/styles/DatePicker.scss +9 -0
  20. package/src/components/forms/date/datePicker/types.ts +3 -0
  21. package/src/components/forms/form/styles/Form.scss +1 -0
  22. package/src/components/forms/input/Input.tsx +5 -2
  23. package/src/components/forms/numberInput/NumberInput.tsx +1 -1
  24. package/src/components/forms/timePicker/TimePicker.mdx +39 -0
  25. package/src/components/forms/timePicker/TimePicker.stories.tsx +79 -0
  26. package/src/components/forms/timePicker/TimePicker.tsx +104 -0
  27. package/src/components/forms/timePicker/__tests__/TimePicker.test.tsx +26 -0
  28. package/src/components/forms/timePicker/constants.ts +21 -0
  29. package/src/components/forms/timePicker/helpers.ts +14 -0
  30. package/src/components/forms/timePicker/index.ts +1 -0
  31. package/src/components/forms/timePicker/styles/TimePicker.scss +51 -0
  32. package/src/index.ts +1 -0
  33. package/src/styles/index.scss +2 -1
@@ -9,6 +9,8 @@ export interface DatePickerProps {
9
9
  month?: Date;
10
10
  defaultMonth?: Date;
11
11
  startMonth?: Date | undefined;
12
+ hasTimePicker?: boolean;
13
+ timeValue?: string;
12
14
  endMonth?: Date;
13
15
  components?: Partial<CustomComponents>;
14
16
  numberOfMonths?: number;
@@ -20,6 +22,7 @@ export interface DatePickerProps {
20
22
  isRequired?: any;
21
23
  min?: number;
22
24
  max?: number;
25
+ onTimeChange?: (time: string) => void;
23
26
  onMonthChange?: MonthChangeEventHandler;
24
27
  onNextClick?: MonthChangeEventHandler;
25
28
  onPrevClick?: MonthChangeEventHandler;
@@ -7,10 +7,11 @@ export interface BaseInputProps {
7
7
  placeholder?: string;
8
8
  isDisabled?: boolean;
9
9
  readonly?: boolean;
10
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
10
+ onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
11
11
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
12
12
  onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
13
13
  errorMessage?: string | undefined;
14
+ maxLength?: number;
14
15
  helpText?: string;
15
16
  iconName?: IconName;
16
17
  isClearable?: boolean;
@@ -0,0 +1,7 @@
1
+ interface TimePickerProps {
2
+ timeValue?: string;
3
+ label?: string;
4
+ onTimeChange?: (time: string) => void;
5
+ }
6
+ export declare const TimePicker: ({ timeValue, label, onTimeChange, }: TimePickerProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ import { TimePicker } from './TimePicker';
2
+ import type { Meta, StoryObj } from '@storybook/react';
3
+ declare const meta: Meta<typeof TimePicker>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof TimePicker>;
6
+ export declare const Default: Story;
@@ -0,0 +1,13 @@
1
+ declare const hourOptions: {
2
+ label: string;
3
+ value: string;
4
+ }[];
5
+ declare const minuteOptions: {
6
+ label: string;
7
+ value: string;
8
+ }[];
9
+ declare const periodOptions: {
10
+ label: string;
11
+ value: string;
12
+ }[];
13
+ export { hourOptions, minuteOptions, periodOptions };
@@ -0,0 +1,5 @@
1
+ export declare const parseTimeValue: (time: string) => {
2
+ hours: string;
3
+ minutes: string;
4
+ period: string;
5
+ };
@@ -0,0 +1 @@
1
+ export * from './TimePicker';
package/lib/index.css CHANGED
@@ -1314,12 +1314,15 @@ form {
1314
1314
  --pf-form-input-disabled-color: var(--pf-tertiary-color-950);
1315
1315
  }
1316
1316
 
1317
+ .time-input-wrapper input,
1317
1318
  .input-wrapper input,
1318
1319
  .number-input-wrapper input,
1319
1320
  .password-input-wrapper input,
1320
1321
  .textarea-wrapper input {
1321
1322
  height: var(--pf-size-9);
1322
1323
  }
1324
+ .time-input-wrapper input,
1325
+ .time-input-wrapper textarea,
1323
1326
  .input-wrapper input,
1324
1327
  .input-wrapper textarea,
1325
1328
  .number-input-wrapper input,
@@ -1335,9 +1338,11 @@ form {
1335
1338
  width: 100%;
1336
1339
  box-sizing: border-box;
1337
1340
  }
1338
- .input-wrapper input::-moz-placeholder, .input-wrapper textarea::-moz-placeholder, .number-input-wrapper input::-moz-placeholder, .number-input-wrapper textarea::-moz-placeholder, .password-input-wrapper input::-moz-placeholder, .password-input-wrapper textarea::-moz-placeholder, .textarea-wrapper input::-moz-placeholder, .textarea-wrapper textarea::-moz-placeholder {
1341
+ .time-input-wrapper input::-moz-placeholder, .time-input-wrapper textarea::-moz-placeholder, .input-wrapper input::-moz-placeholder, .input-wrapper textarea::-moz-placeholder, .number-input-wrapper input::-moz-placeholder, .number-input-wrapper textarea::-moz-placeholder, .password-input-wrapper input::-moz-placeholder, .password-input-wrapper textarea::-moz-placeholder, .textarea-wrapper input::-moz-placeholder, .textarea-wrapper textarea::-moz-placeholder {
1339
1342
  color: var(--pf-form-input-placeholder-color);
1340
1343
  }
1344
+ .time-input-wrapper input::placeholder,
1345
+ .time-input-wrapper textarea::placeholder,
1341
1346
  .input-wrapper input::placeholder,
1342
1347
  .input-wrapper textarea::placeholder,
1343
1348
  .number-input-wrapper input::placeholder,
@@ -1348,6 +1353,8 @@ form {
1348
1353
  .textarea-wrapper textarea::placeholder {
1349
1354
  color: var(--pf-form-input-placeholder-color);
1350
1355
  }
1356
+ .time-input-wrapper input:hover,
1357
+ .time-input-wrapper textarea:hover,
1351
1358
  .input-wrapper input:hover,
1352
1359
  .input-wrapper textarea:hover,
1353
1360
  .number-input-wrapper input:hover,
@@ -1358,6 +1365,8 @@ form {
1358
1365
  .textarea-wrapper textarea:hover {
1359
1366
  background-color: var(--pf-form-input-hover-background-color);
1360
1367
  }
1368
+ .time-input-wrapper input:focus,
1369
+ .time-input-wrapper textarea:focus,
1361
1370
  .input-wrapper input:focus,
1362
1371
  .input-wrapper textarea:focus,
1363
1372
  .number-input-wrapper input:focus,
@@ -1369,6 +1378,8 @@ form {
1369
1378
  border-color: var(--pf-form-input-focus-border-color);
1370
1379
  background-color: var(--pf-form-input-focus-background-color);
1371
1380
  }
1381
+ .time-input-wrapper input:focus-visible,
1382
+ .time-input-wrapper textarea:focus-visible,
1372
1383
  .input-wrapper input:focus-visible,
1373
1384
  .input-wrapper textarea:focus-visible,
1374
1385
  .number-input-wrapper input:focus-visible,
@@ -1379,6 +1390,8 @@ form {
1379
1390
  .textarea-wrapper textarea:focus-visible {
1380
1391
  outline: 1px solid var(--pf-form-input-focus-outline-color);
1381
1392
  }
1393
+ .time-input-wrapper input:disabled,
1394
+ .time-input-wrapper textarea:disabled,
1382
1395
  .input-wrapper input:disabled,
1383
1396
  .input-wrapper textarea:disabled,
1384
1397
  .number-input-wrapper input:disabled,
@@ -1391,6 +1404,8 @@ form {
1391
1404
  border-color: var(--pf-form-input-disabled-border-color);
1392
1405
  color: var(--pf-form-input-disabled-color);
1393
1406
  }
1407
+ .time-input-wrapper input.error,
1408
+ .time-input-wrapper textarea.error,
1394
1409
  .input-wrapper input.error,
1395
1410
  .input-wrapper textarea.error,
1396
1411
  .number-input-wrapper input.error,
@@ -1401,6 +1416,8 @@ form {
1401
1416
  .textarea-wrapper textarea.error {
1402
1417
  border-color: var(--pf-error-color);
1403
1418
  }
1419
+ .time-input-wrapper input.success,
1420
+ .time-input-wrapper textarea.success,
1404
1421
  .input-wrapper input.success,
1405
1422
  .input-wrapper textarea.success,
1406
1423
  .number-input-wrapper input.success,
@@ -1411,6 +1428,8 @@ form {
1411
1428
  .textarea-wrapper textarea.success {
1412
1429
  border-color: var(--pf-success-color);
1413
1430
  }
1431
+ .time-input-wrapper input.warning,
1432
+ .time-input-wrapper textarea.warning,
1414
1433
  .input-wrapper input.warning,
1415
1434
  .input-wrapper textarea.warning,
1416
1435
  .number-input-wrapper input.warning,
@@ -1421,6 +1440,8 @@ form {
1421
1440
  .textarea-wrapper textarea.warning {
1422
1441
  border-color: var(--pf-warning-color);
1423
1442
  }
1443
+ .time-input-wrapper input.info,
1444
+ .time-input-wrapper textarea.info,
1424
1445
  .input-wrapper input.info,
1425
1446
  .input-wrapper textarea.info,
1426
1447
  .number-input-wrapper input.info,
@@ -1814,6 +1835,59 @@ form {
1814
1835
  background-color: transparent;
1815
1836
  }
1816
1837
 
1838
+ .time-picker-wrapper {
1839
+ margin-bottom: var(--pf-margin-3);
1840
+ width: 348px;
1841
+ }
1842
+ .time-picker-wrapper .form-control {
1843
+ margin-bottom: 0;
1844
+ }
1845
+
1846
+ .time-picker-input {
1847
+ cursor: pointer;
1848
+ }
1849
+
1850
+ .time-picker-row {
1851
+ width: 150px;
1852
+ }
1853
+ .time-picker-row .select__value-container {
1854
+ text-align: center;
1855
+ cursor: pointer;
1856
+ }
1857
+ .time-picker-row .select-wrapper {
1858
+ width: 50px;
1859
+ }
1860
+ .time-picker-row .select-wrapper .select__items {
1861
+ justify-content: center;
1862
+ }
1863
+ .time-picker-row .select-wrapper .select__menu {
1864
+ height: 230px;
1865
+ padding-bottom: 0;
1866
+ margin-bottom: 0;
1867
+ }
1868
+ .time-picker-row .select__menu-list {
1869
+ max-height: 100%;
1870
+ scrollbar-width: none; /* Firefox */
1871
+ -ms-overflow-style: none; /* IE and Edge */
1872
+ overflow-y: scroll;
1873
+ }
1874
+ .time-picker-row .select__menu-list::-webkit-scrollbar {
1875
+ display: none; /* Chrome, Safari and Opera */
1876
+ }
1877
+ .time-picker-row .hour-menu .select__menu {
1878
+ border-top-right-radius: 0;
1879
+ border-bottom-right-radius: 0;
1880
+ }
1881
+ .time-picker-row .minute-menu .select__menu {
1882
+ border-radius: 0;
1883
+ border-right: none;
1884
+ border-left: none;
1885
+ }
1886
+ .time-picker-row .period-menu .select__menu {
1887
+ border-top-left-radius: 0;
1888
+ border-bottom-left-radius: 0;
1889
+ }
1890
+
1817
1891
  :root {
1818
1892
  --pf-badge-rounded: var(--pf-rounded);
1819
1893
  }
@@ -2243,6 +2317,51 @@ form {
2243
2317
  display: block;
2244
2318
  }
2245
2319
 
2320
+ .time-picker-input {
2321
+ cursor: pointer;
2322
+ }
2323
+
2324
+ .time-picker-row {
2325
+ width: 150px;
2326
+ }
2327
+ .time-picker-row .select__value-container {
2328
+ text-align: center;
2329
+ cursor: pointer;
2330
+ }
2331
+ .time-picker-row .select-wrapper {
2332
+ width: 50px;
2333
+ }
2334
+ .time-picker-row .select-wrapper .select__items {
2335
+ justify-content: center;
2336
+ }
2337
+ .time-picker-row .select-wrapper .select__menu {
2338
+ height: 230px;
2339
+ padding-bottom: 0;
2340
+ margin-bottom: 0;
2341
+ }
2342
+ .time-picker-row .select__menu-list {
2343
+ max-height: 100%;
2344
+ scrollbar-width: none; /* Firefox */
2345
+ -ms-overflow-style: none; /* IE and Edge */
2346
+ overflow-y: scroll;
2347
+ }
2348
+ .time-picker-row .select__menu-list::-webkit-scrollbar {
2349
+ display: none; /* Chrome, Safari and Opera */
2350
+ }
2351
+ .time-picker-row .hour-menu .select__menu {
2352
+ border-top-right-radius: 0;
2353
+ border-bottom-right-radius: 0;
2354
+ }
2355
+ .time-picker-row .minute-menu .select__menu {
2356
+ border-radius: 0;
2357
+ border-right: none;
2358
+ border-left: none;
2359
+ }
2360
+ .time-picker-row .period-menu .select__menu {
2361
+ border-top-left-radius: 0;
2362
+ border-bottom-left-radius: 0;
2363
+ }
2364
+
2246
2365
  :root [data-theme=light] {
2247
2366
  --pf-pill-primary-background-color: var(--pf-primary-color);
2248
2367
  --pf-pill-primary-font-color: var(--pf-white-color);
package/lib/index.d.ts CHANGED
@@ -305,10 +305,11 @@ interface BaseInputProps {
305
305
  placeholder?: string;
306
306
  isDisabled?: boolean;
307
307
  readonly?: boolean;
308
- onChange: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
308
+ onChange?: (e: React$1.ChangeEvent<HTMLInputElement>) => void;
309
309
  onBlur?: (e: React$1.FocusEvent<HTMLInputElement>) => void;
310
310
  onKeyDown?: (e: React$1.KeyboardEvent<HTMLInputElement>) => void;
311
311
  errorMessage?: string | undefined;
312
+ maxLength?: number;
312
313
  helpText?: string;
313
314
  iconName?: IconName;
314
315
  isClearable?: boolean;
@@ -407,6 +408,8 @@ interface DatePickerProps {
407
408
  month?: Date;
408
409
  defaultMonth?: Date;
409
410
  startMonth?: Date | undefined;
411
+ hasTimePicker?: boolean;
412
+ timeValue?: string;
410
413
  endMonth?: Date;
411
414
  components?: Partial<CustomComponents>;
412
415
  numberOfMonths?: number;
@@ -418,6 +421,7 @@ interface DatePickerProps {
418
421
  isRequired?: any;
419
422
  min?: number;
420
423
  max?: number;
424
+ onTimeChange?: (time: string) => void;
421
425
  onMonthChange?: MonthChangeEventHandler;
422
426
  onNextClick?: MonthChangeEventHandler;
423
427
  onPrevClick?: MonthChangeEventHandler;
@@ -426,6 +430,13 @@ interface DatePickerProps {
426
430
 
427
431
  declare const DatePicker: (props: DatePickerProps) => react_jsx_runtime.JSX.Element;
428
432
 
433
+ interface TimePickerProps {
434
+ timeValue?: string;
435
+ label?: string;
436
+ onTimeChange?: (time: string) => void;
437
+ }
438
+ declare const TimePicker: ({ timeValue, label, onTimeChange, }: TimePickerProps) => react_jsx_runtime.JSX.Element;
439
+
429
440
  interface Props$3 {
430
441
  mode?: Mode;
431
442
  ariaLabel: string;
@@ -600,4 +611,4 @@ declare function TanstackTable<T extends object>({ columns: defaultColumns, data
600
611
  id: string;
601
612
  }>): react_jsx_runtime.JSX.Element;
602
613
 
603
- export { Badge, BarSpinner, Button, Card, Checkbox, CirclePulse, CircleSpinner, Col, Container, DatePicker, FloatUI, Form, Icon, IconTriggerDatePicker, LabeledInput as Input, Menu, Modal, LabeledPasswordInput as PasswordInput, Pill, Radio as RadioInput, Row, Select as SelectInput, SingleInputDatePicker, Skeleton, Table, TanstackTable, LabeledTextarea as Textarea, Toggle as ToggleInput, Tooltip, registerFontAwesomeIcons };
614
+ export { Badge, BarSpinner, Button, Card, Checkbox, CirclePulse, CircleSpinner, Col, Container, DatePicker, FloatUI, Form, Icon, IconTriggerDatePicker, LabeledInput as Input, Menu, Modal, LabeledPasswordInput as PasswordInput, Pill, Radio as RadioInput, Row, Select as SelectInput, SingleInputDatePicker, Skeleton, Table, TanstackTable, LabeledTextarea as Textarea, TimePicker, Toggle as ToggleInput, Tooltip, registerFontAwesomeIcons };
package/lib/index.esm.css CHANGED
@@ -1314,12 +1314,15 @@ form {
1314
1314
  --pf-form-input-disabled-color: var(--pf-tertiary-color-950);
1315
1315
  }
1316
1316
 
1317
+ .time-input-wrapper input,
1317
1318
  .input-wrapper input,
1318
1319
  .number-input-wrapper input,
1319
1320
  .password-input-wrapper input,
1320
1321
  .textarea-wrapper input {
1321
1322
  height: var(--pf-size-9);
1322
1323
  }
1324
+ .time-input-wrapper input,
1325
+ .time-input-wrapper textarea,
1323
1326
  .input-wrapper input,
1324
1327
  .input-wrapper textarea,
1325
1328
  .number-input-wrapper input,
@@ -1335,9 +1338,11 @@ form {
1335
1338
  width: 100%;
1336
1339
  box-sizing: border-box;
1337
1340
  }
1338
- .input-wrapper input::-moz-placeholder, .input-wrapper textarea::-moz-placeholder, .number-input-wrapper input::-moz-placeholder, .number-input-wrapper textarea::-moz-placeholder, .password-input-wrapper input::-moz-placeholder, .password-input-wrapper textarea::-moz-placeholder, .textarea-wrapper input::-moz-placeholder, .textarea-wrapper textarea::-moz-placeholder {
1341
+ .time-input-wrapper input::-moz-placeholder, .time-input-wrapper textarea::-moz-placeholder, .input-wrapper input::-moz-placeholder, .input-wrapper textarea::-moz-placeholder, .number-input-wrapper input::-moz-placeholder, .number-input-wrapper textarea::-moz-placeholder, .password-input-wrapper input::-moz-placeholder, .password-input-wrapper textarea::-moz-placeholder, .textarea-wrapper input::-moz-placeholder, .textarea-wrapper textarea::-moz-placeholder {
1339
1342
  color: var(--pf-form-input-placeholder-color);
1340
1343
  }
1344
+ .time-input-wrapper input::placeholder,
1345
+ .time-input-wrapper textarea::placeholder,
1341
1346
  .input-wrapper input::placeholder,
1342
1347
  .input-wrapper textarea::placeholder,
1343
1348
  .number-input-wrapper input::placeholder,
@@ -1348,6 +1353,8 @@ form {
1348
1353
  .textarea-wrapper textarea::placeholder {
1349
1354
  color: var(--pf-form-input-placeholder-color);
1350
1355
  }
1356
+ .time-input-wrapper input:hover,
1357
+ .time-input-wrapper textarea:hover,
1351
1358
  .input-wrapper input:hover,
1352
1359
  .input-wrapper textarea:hover,
1353
1360
  .number-input-wrapper input:hover,
@@ -1358,6 +1365,8 @@ form {
1358
1365
  .textarea-wrapper textarea:hover {
1359
1366
  background-color: var(--pf-form-input-hover-background-color);
1360
1367
  }
1368
+ .time-input-wrapper input:focus,
1369
+ .time-input-wrapper textarea:focus,
1361
1370
  .input-wrapper input:focus,
1362
1371
  .input-wrapper textarea:focus,
1363
1372
  .number-input-wrapper input:focus,
@@ -1369,6 +1378,8 @@ form {
1369
1378
  border-color: var(--pf-form-input-focus-border-color);
1370
1379
  background-color: var(--pf-form-input-focus-background-color);
1371
1380
  }
1381
+ .time-input-wrapper input:focus-visible,
1382
+ .time-input-wrapper textarea:focus-visible,
1372
1383
  .input-wrapper input:focus-visible,
1373
1384
  .input-wrapper textarea:focus-visible,
1374
1385
  .number-input-wrapper input:focus-visible,
@@ -1379,6 +1390,8 @@ form {
1379
1390
  .textarea-wrapper textarea:focus-visible {
1380
1391
  outline: 1px solid var(--pf-form-input-focus-outline-color);
1381
1392
  }
1393
+ .time-input-wrapper input:disabled,
1394
+ .time-input-wrapper textarea:disabled,
1382
1395
  .input-wrapper input:disabled,
1383
1396
  .input-wrapper textarea:disabled,
1384
1397
  .number-input-wrapper input:disabled,
@@ -1391,6 +1404,8 @@ form {
1391
1404
  border-color: var(--pf-form-input-disabled-border-color);
1392
1405
  color: var(--pf-form-input-disabled-color);
1393
1406
  }
1407
+ .time-input-wrapper input.error,
1408
+ .time-input-wrapper textarea.error,
1394
1409
  .input-wrapper input.error,
1395
1410
  .input-wrapper textarea.error,
1396
1411
  .number-input-wrapper input.error,
@@ -1401,6 +1416,8 @@ form {
1401
1416
  .textarea-wrapper textarea.error {
1402
1417
  border-color: var(--pf-error-color);
1403
1418
  }
1419
+ .time-input-wrapper input.success,
1420
+ .time-input-wrapper textarea.success,
1404
1421
  .input-wrapper input.success,
1405
1422
  .input-wrapper textarea.success,
1406
1423
  .number-input-wrapper input.success,
@@ -1411,6 +1428,8 @@ form {
1411
1428
  .textarea-wrapper textarea.success {
1412
1429
  border-color: var(--pf-success-color);
1413
1430
  }
1431
+ .time-input-wrapper input.warning,
1432
+ .time-input-wrapper textarea.warning,
1414
1433
  .input-wrapper input.warning,
1415
1434
  .input-wrapper textarea.warning,
1416
1435
  .number-input-wrapper input.warning,
@@ -1421,6 +1440,8 @@ form {
1421
1440
  .textarea-wrapper textarea.warning {
1422
1441
  border-color: var(--pf-warning-color);
1423
1442
  }
1443
+ .time-input-wrapper input.info,
1444
+ .time-input-wrapper textarea.info,
1424
1445
  .input-wrapper input.info,
1425
1446
  .input-wrapper textarea.info,
1426
1447
  .number-input-wrapper input.info,
@@ -1814,6 +1835,59 @@ form {
1814
1835
  background-color: transparent;
1815
1836
  }
1816
1837
 
1838
+ .time-picker-wrapper {
1839
+ margin-bottom: var(--pf-margin-3);
1840
+ width: 348px;
1841
+ }
1842
+ .time-picker-wrapper .form-control {
1843
+ margin-bottom: 0;
1844
+ }
1845
+
1846
+ .time-picker-input {
1847
+ cursor: pointer;
1848
+ }
1849
+
1850
+ .time-picker-row {
1851
+ width: 150px;
1852
+ }
1853
+ .time-picker-row .select__value-container {
1854
+ text-align: center;
1855
+ cursor: pointer;
1856
+ }
1857
+ .time-picker-row .select-wrapper {
1858
+ width: 50px;
1859
+ }
1860
+ .time-picker-row .select-wrapper .select__items {
1861
+ justify-content: center;
1862
+ }
1863
+ .time-picker-row .select-wrapper .select__menu {
1864
+ height: 230px;
1865
+ padding-bottom: 0;
1866
+ margin-bottom: 0;
1867
+ }
1868
+ .time-picker-row .select__menu-list {
1869
+ max-height: 100%;
1870
+ scrollbar-width: none; /* Firefox */
1871
+ -ms-overflow-style: none; /* IE and Edge */
1872
+ overflow-y: scroll;
1873
+ }
1874
+ .time-picker-row .select__menu-list::-webkit-scrollbar {
1875
+ display: none; /* Chrome, Safari and Opera */
1876
+ }
1877
+ .time-picker-row .hour-menu .select__menu {
1878
+ border-top-right-radius: 0;
1879
+ border-bottom-right-radius: 0;
1880
+ }
1881
+ .time-picker-row .minute-menu .select__menu {
1882
+ border-radius: 0;
1883
+ border-right: none;
1884
+ border-left: none;
1885
+ }
1886
+ .time-picker-row .period-menu .select__menu {
1887
+ border-top-left-radius: 0;
1888
+ border-bottom-left-radius: 0;
1889
+ }
1890
+
1817
1891
  :root {
1818
1892
  --pf-badge-rounded: var(--pf-rounded);
1819
1893
  }
@@ -2243,6 +2317,51 @@ form {
2243
2317
  display: block;
2244
2318
  }
2245
2319
 
2320
+ .time-picker-input {
2321
+ cursor: pointer;
2322
+ }
2323
+
2324
+ .time-picker-row {
2325
+ width: 150px;
2326
+ }
2327
+ .time-picker-row .select__value-container {
2328
+ text-align: center;
2329
+ cursor: pointer;
2330
+ }
2331
+ .time-picker-row .select-wrapper {
2332
+ width: 50px;
2333
+ }
2334
+ .time-picker-row .select-wrapper .select__items {
2335
+ justify-content: center;
2336
+ }
2337
+ .time-picker-row .select-wrapper .select__menu {
2338
+ height: 230px;
2339
+ padding-bottom: 0;
2340
+ margin-bottom: 0;
2341
+ }
2342
+ .time-picker-row .select__menu-list {
2343
+ max-height: 100%;
2344
+ scrollbar-width: none; /* Firefox */
2345
+ -ms-overflow-style: none; /* IE and Edge */
2346
+ overflow-y: scroll;
2347
+ }
2348
+ .time-picker-row .select__menu-list::-webkit-scrollbar {
2349
+ display: none; /* Chrome, Safari and Opera */
2350
+ }
2351
+ .time-picker-row .hour-menu .select__menu {
2352
+ border-top-right-radius: 0;
2353
+ border-bottom-right-radius: 0;
2354
+ }
2355
+ .time-picker-row .minute-menu .select__menu {
2356
+ border-radius: 0;
2357
+ border-right: none;
2358
+ border-left: none;
2359
+ }
2360
+ .time-picker-row .period-menu .select__menu {
2361
+ border-top-left-radius: 0;
2362
+ border-bottom-left-radius: 0;
2363
+ }
2364
+
2246
2365
  :root [data-theme=light] {
2247
2366
  --pf-pill-primary-background-color: var(--pf-primary-color);
2248
2367
  --pf-pill-primary-font-color: var(--pf-white-color);