Skip to content

Commit f68247c

Browse files
committed
creates date picker context
1 parent 316ecf2 commit f68247c

File tree

7 files changed

+45
-6
lines changed

7 files changed

+45
-6
lines changed

packages/date-picker/src/DateInputSegment/DateInputSegment.stories.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,16 @@ import { StoryFn } from '@storybook/react';
33

44
import LeafyGreenProvider from '@leafygreen-ui/leafygreen-provider';
55
import { StoryMetaType } from '@leafygreen-ui/lib';
6+
import { Size } from '@leafygreen-ui/tokens';
7+
8+
import {
9+
DatePickerContextProps,
10+
DatePickerProvider,
11+
} from '../DatePickerContext';
612

713
import { DateInputSegment } from './DateInputSegment';
814

9-
const meta: StoryMetaType<typeof DateInputSegment> = {
15+
const meta: StoryMetaType<typeof DateInputSegment, DatePickerContextProps> = {
1016
title: 'Components/DatePicker/DateInputSegment',
1117
component: DateInputSegment,
1218
parameters: {
@@ -16,7 +22,13 @@ const meta: StoryMetaType<typeof DateInputSegment> = {
1622
darkMode: [false, true],
1723
value: [undefined, 6, 2023],
1824
segment: ['day', 'month', 'year'],
25+
size: Object.values(Size),
1926
},
27+
decorator: (Instance, ctx) => (
28+
<DatePickerProvider value={{ size: ctx?.args.size }}>
29+
<Instance />
30+
</DatePickerProvider>
31+
),
2032
excludeCombinations: [
2133
{
2234
value: 6,

packages/date-picker/src/DateInputSegment/DateInputSegment.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ import { useDarkMode } from '@leafygreen-ui/leafygreen-provider';
77
import { Size } from '@leafygreen-ui/tokens';
88
import { useUpdatedBaseFontSize } from '@leafygreen-ui/typography';
99

10+
import { useDatePickerContext } from '../DatePickerContext';
11+
1012
import {
1113
charsPerSegment,
1214
defaultMax,
@@ -37,9 +39,7 @@ export function DateInputSegment({
3739

3840
const { theme } = useDarkMode(darkMode);
3941
const baseFontSize = useUpdatedBaseFontSize();
40-
// TODO: implement context
41-
// const { size } = useDatePickerContext();
42-
const size = Size.Default;
42+
const { size } = useDatePickerContext();
4343

4444
return (
4545
<input
@@ -55,7 +55,7 @@ export function DateInputSegment({
5555
baseStyles,
5656
fontSizeStyles[baseFontSize],
5757
segmentThemeStyles[theme],
58-
// segmentSizeStyles[size],
58+
segmentSizeStyles[size ?? Size.Default],
5959
segmentWidthStyles[segment],
6060
)}
6161
/>

packages/date-picker/src/DatePicker/DatePicker.types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { BaseDatePickerProps } from 'src/types';
1+
import { BaseDatePickerProps } from '../types';
22

33
export interface DatePickerProps extends BaseDatePickerProps {
44
/** The initial selected date. Ignored if `value` is provided */
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
2+
import React from 'react';
3+
import { render } from '@testing-library/react';
4+
5+
import { DatePickerContext } from '.';
6+
7+
describe('packages/date-picker-context', () => {
8+
test('condition', () => {
9+
10+
})
11+
})
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import { createContext, useContext } from 'react';
2+
3+
import { DatePickerContextProps } from './DatePickerContext.types';
4+
5+
export const DatePickerContext = createContext<DatePickerContextProps>({});
6+
export const DatePickerProvider = DatePickerContext.Provider;
7+
export const useDatePickerContext = () => useContext(DatePickerContext);
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { BaseDatePickerProps } from 'src/types';
2+
3+
export interface DatePickerContextProps extends Partial<BaseDatePickerProps> {}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export {
2+
DatePickerContext,
3+
DatePickerProvider,
4+
useDatePickerContext,
5+
} from './DatePickerContext';
6+
export { DatePickerContextProps } from './DatePickerContext.types';

0 commit comments

Comments
 (0)