@workday/canvas-kit-react 9.0.0-alpha.394-next.7 → 9.0.0-alpha.397-next.9
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.
- package/collection/lib/useListItemSelect.tsx +3 -4
- package/common/lib/utils/components.ts +49 -13
- package/common/lib/utils/models.ts +9 -5
- package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +3 -3
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +3 -3
- package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemSelect.d.ts.map +1 -1
- package/dist/commonjs/collection/lib/useListItemSelect.js +3 -4
- package/dist/commonjs/common/lib/utils/components.d.ts +12 -6
- package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/components.js +29 -10
- package/dist/commonjs/common/lib/utils/models.d.ts +6 -2
- package/dist/commonjs/common/lib/utils/models.d.ts.map +1 -1
- package/dist/commonjs/common/lib/utils/models.js +2 -1
- package/dist/commonjs/dialog/lib/Dialog.d.ts +2 -2
- package/dist/commonjs/dialog/lib/DialogCard.d.ts +1 -1
- package/dist/commonjs/dialog/lib/DialogPopper.d.ts +1 -1
- package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/FormField.js +3 -0
- package/dist/commonjs/form-field/lib/Label.d.ts +4 -3
- package/dist/commonjs/form-field/lib/Label.d.ts.map +1 -1
- package/dist/commonjs/form-field/lib/Label.js +4 -4
- package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/commonjs/menu/lib/MenuItem.js +5 -2
- package/dist/commonjs/modal/lib/Modal.d.ts +2 -2
- package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +1 -1
- package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +3 -3
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +3 -3
- package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemSelect.d.ts.map +1 -1
- package/dist/es6/collection/lib/useListItemSelect.js +3 -4
- package/dist/es6/common/lib/utils/components.d.ts +12 -6
- package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/components.js +29 -10
- package/dist/es6/common/lib/utils/models.d.ts +6 -2
- package/dist/es6/common/lib/utils/models.d.ts.map +1 -1
- package/dist/es6/common/lib/utils/models.js +2 -1
- package/dist/es6/dialog/lib/Dialog.d.ts +2 -2
- package/dist/es6/dialog/lib/DialogCard.d.ts +1 -1
- package/dist/es6/dialog/lib/DialogPopper.d.ts +1 -1
- package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
- package/dist/es6/form-field/lib/FormField.js +3 -0
- package/dist/es6/form-field/lib/Label.d.ts +4 -3
- package/dist/es6/form-field/lib/Label.d.ts.map +1 -1
- package/dist/es6/form-field/lib/Label.js +4 -4
- package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
- package/dist/es6/menu/lib/MenuItem.js +5 -2
- package/dist/es6/modal/lib/Modal.d.ts +2 -2
- package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +1 -1
- package/form-field/lib/FormField.tsx +4 -0
- package/form-field/lib/Label.tsx +9 -8
- package/menu/lib/MenuItem.tsx +5 -2
- package/package.json +3 -3
|
@@ -21,12 +21,11 @@ export const useListItemSelect = createElemPropsHook(useListModel)(
|
|
|
21
21
|
const name = elemProps['data-id'] || '';
|
|
22
22
|
const onClick = (event: React.MouseEvent<HTMLElement>) => {
|
|
23
23
|
if (
|
|
24
|
-
state.nonInteractiveIds.includes(name)
|
|
25
|
-
event.currentTarget.
|
|
24
|
+
!state.nonInteractiveIds.includes(name) &&
|
|
25
|
+
event.currentTarget.getAttribute('aria-disabled') !== 'true'
|
|
26
26
|
) {
|
|
27
|
-
|
|
27
|
+
events.select({id: name});
|
|
28
28
|
}
|
|
29
|
-
events.select({id: name});
|
|
30
29
|
};
|
|
31
30
|
|
|
32
31
|
return {onClick};
|
|
@@ -123,14 +123,18 @@ type ExtractMaybeModel<TComponent, P> = TComponent extends {__model: infer M} //
|
|
|
123
123
|
? P & PropsWithModel<M>
|
|
124
124
|
: P;
|
|
125
125
|
|
|
126
|
-
|
|
126
|
+
/**
|
|
127
|
+
* `PropsWithModel` adds the `model` and `elemPropsHook` props. If a model-based component has an
|
|
128
|
+
* `as` referencing another model-based component, the `model` of the `as` component should win.
|
|
129
|
+
*/
|
|
130
|
+
export type PropsWithModel<TModel, ElementType = {}> = {
|
|
127
131
|
/**
|
|
128
132
|
* Optional model to pass to the component. This will override the default model created for the
|
|
129
133
|
* component. This can be useful if you want to access to the state and events of the model, or if
|
|
130
134
|
* you have nested components of the same type and you need to override the model provided by
|
|
131
135
|
* React Context.
|
|
132
136
|
*/
|
|
133
|
-
model?: TModel;
|
|
137
|
+
model?: ElementType extends {__model: infer M} ? M : TModel; // If the `ElementType` is a `ElementComponentM`, extract the model. Otherwise fall back to the `TModel` type
|
|
134
138
|
/**
|
|
135
139
|
* Optional hook that receives the model and all props to be applied to the element. If you use
|
|
136
140
|
* this, it is your responsibility to return props, merging as appropriate. For example, returning
|
|
@@ -173,7 +177,7 @@ export type ElementComponentM<E extends React.ElementType, P, TModel> = {
|
|
|
173
177
|
displayName?: string;
|
|
174
178
|
<ElementType extends React.ElementType>(
|
|
175
179
|
props: PropsWithoutAs<P, ElementType> &
|
|
176
|
-
PropsWithModel<TModel> & {
|
|
180
|
+
PropsWithModel<TModel, ElementType> & {
|
|
177
181
|
/**
|
|
178
182
|
* Optional override of the default element used by the component. Any valid tag or Component.
|
|
179
183
|
* If you provided a Component, this component should forward the ref using `React.forwardRef`
|
|
@@ -284,7 +288,7 @@ export const createContainer = <
|
|
|
284
288
|
SubComponents => {
|
|
285
289
|
const ReturnedComponent = React.forwardRef<E, Props & {as?: React.ElementType} & {model?: any}>(
|
|
286
290
|
({as: asOverride, model, ...props}, ref) => {
|
|
287
|
-
const localModel = useDefaultModel(model, props, modelHook);
|
|
291
|
+
const localModel = useDefaultModel(model, props, modelHook, asOverride);
|
|
288
292
|
const elemProps = ((modelHook as any).getElemProps || defaultGetElemProps)(props);
|
|
289
293
|
const finalElemProps = elemPropsHook
|
|
290
294
|
? (elemPropsHook as any)(localModel, elemProps, ref)
|
|
@@ -317,6 +321,7 @@ export const createContainer = <
|
|
|
317
321
|
}
|
|
318
322
|
});
|
|
319
323
|
ReturnedComponent.displayName = displayName;
|
|
324
|
+
(ReturnedComponent as any).__hasModel = true;
|
|
320
325
|
|
|
321
326
|
// The `any`s are here because `ElementComponent` takes care of the `as` type and the
|
|
322
327
|
// `ReturnComponent` type is overridden
|
|
@@ -410,10 +415,16 @@ export const createSubcomponent = <
|
|
|
410
415
|
E,
|
|
411
416
|
Props & {as?: React.ElementType} & {model?: any; elemPropsHook?: (...args: any) => any}
|
|
412
417
|
>(({as: asOverride, model, elemPropsHook: additionalPropsHook, ...props}, ref) => {
|
|
413
|
-
const localModel = useModelContext(modelHook.Context!, model);
|
|
418
|
+
const localModel = useModelContext(modelHook.Context!, model, asOverride);
|
|
419
|
+
// maybeModelProps reattached the `model` prop if the passed model is incompatible with the
|
|
420
|
+
// modelHook's context. This fixes issues when using the `as` prop on model element components
|
|
421
|
+
// that both have a model
|
|
422
|
+
const maybeModelProps =
|
|
423
|
+
model && localModel !== model ? {...props, model, ref} : {...props, ref};
|
|
424
|
+
|
|
414
425
|
const elemProps = elemPropsHook
|
|
415
|
-
? (elemPropsHook as any)(localModel,
|
|
416
|
-
:
|
|
426
|
+
? (elemPropsHook as any)(localModel, maybeModelProps, ref)
|
|
427
|
+
: maybeModelProps;
|
|
417
428
|
|
|
418
429
|
return Component(
|
|
419
430
|
additionalPropsHook ? additionalPropsHook(localModel, elemProps, ref) : elemProps,
|
|
@@ -435,6 +446,7 @@ export const createSubcomponent = <
|
|
|
435
446
|
if (displayName) {
|
|
436
447
|
ReturnedComponent.displayName = displayName;
|
|
437
448
|
}
|
|
449
|
+
(ReturnedComponent as any).__hasModel = true;
|
|
438
450
|
|
|
439
451
|
// The `any`s are here because `ElementComponent` takes care of the `as` type and the
|
|
440
452
|
// `ReturnComponent` type is overridden
|
|
@@ -793,9 +805,22 @@ export function useLocalRef<T>(ref?: React.Ref<T>) {
|
|
|
793
805
|
export function useDefaultModel<T, C>(
|
|
794
806
|
model: T | undefined,
|
|
795
807
|
config: C,
|
|
796
|
-
modelHook: (config: C) => T
|
|
808
|
+
modelHook: (config: C) => T,
|
|
809
|
+
as?: React.ElementType
|
|
797
810
|
) {
|
|
798
|
-
|
|
811
|
+
// Make sure we don't pass the `model` to a component if it is incompatible with that component.
|
|
812
|
+
// Otherwise we'll have strange runtime failures when a component or elemProps hooks try to
|
|
813
|
+
// access the `state` or `events`
|
|
814
|
+
if (
|
|
815
|
+
!model ||
|
|
816
|
+
(as &&
|
|
817
|
+
(as as any).__hasModel &&
|
|
818
|
+
(model as any).__UNSTABLE_modelContext !== (modelHook as any).Context)
|
|
819
|
+
) {
|
|
820
|
+
return modelHook(config);
|
|
821
|
+
}
|
|
822
|
+
|
|
823
|
+
return model;
|
|
799
824
|
}
|
|
800
825
|
|
|
801
826
|
/**
|
|
@@ -805,14 +830,25 @@ export function useDefaultModel<T, C>(
|
|
|
805
830
|
* @param context The context of a model
|
|
806
831
|
* @example
|
|
807
832
|
* const SubComponent = ({children, model, ...elemProps}: SubComponentProps, ref, Element) => {
|
|
808
|
-
* const {state, events} = useModelContext(model, SubComponentModelContext);
|
|
833
|
+
* const {state, events} = useModelContext(model, SubComponentModelContext, Element);
|
|
809
834
|
*
|
|
810
835
|
* // ...
|
|
811
836
|
* }
|
|
812
837
|
*/
|
|
813
|
-
export function useModelContext<T>(
|
|
814
|
-
|
|
815
|
-
|
|
838
|
+
export function useModelContext<T>(
|
|
839
|
+
context: React.Context<T>,
|
|
840
|
+
model?: T,
|
|
841
|
+
as?: React.ElementType
|
|
842
|
+
): T {
|
|
843
|
+
const contextModel = React.useContext(context);
|
|
844
|
+
if (
|
|
845
|
+
!model ||
|
|
846
|
+
(as && (as as any).__hasModel && (model as any).__UNSTABLE_modelContext !== context)
|
|
847
|
+
) {
|
|
848
|
+
return contextModel;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
return model;
|
|
816
852
|
}
|
|
817
853
|
|
|
818
854
|
/**
|
|
@@ -316,16 +316,19 @@ export type ModelFn<
|
|
|
316
316
|
* }
|
|
317
317
|
* ```
|
|
318
318
|
*/
|
|
319
|
+
// We use the bivariance hack so models can be considered compatible even if the guard and callbacks
|
|
320
|
+
// contain `state` that are incompatible. More info:
|
|
321
|
+
// https://github.com/damianc/dev-notes/blob/master/typescript/bivariance-hack.md
|
|
319
322
|
export type ToEventConfig<TState, TEvents extends Record<string, any>> = {
|
|
320
|
-
[K in keyof TEvents as `on${Capitalize<string & K>}`]?: (
|
|
323
|
+
[K in keyof TEvents as `on${Capitalize<string & K>}`]?: {bivarianceHack(
|
|
321
324
|
data: Parameters<TEvents[K]>[0],
|
|
322
325
|
prevState: TState
|
|
323
|
-
)
|
|
326
|
+
): void}['bivarianceHack'];
|
|
324
327
|
} & {
|
|
325
|
-
[K in keyof TEvents as `should${Capitalize<string & K>}`]?: (
|
|
328
|
+
[K in keyof TEvents as `should${Capitalize<string & K>}`]?: {bivarianceHack(
|
|
326
329
|
data: Parameters<TEvents[K]>[0],
|
|
327
330
|
state: TState
|
|
328
|
-
)
|
|
331
|
+
): boolean}['bivarianceHack'];
|
|
329
332
|
};
|
|
330
333
|
|
|
331
334
|
function capitalize(string: string) {
|
|
@@ -585,7 +588,8 @@ export const createModelHook = <TDefaultConfig extends {}, TRequiredConfig exten
|
|
|
585
588
|
}, {} as Record<string, any>);
|
|
586
589
|
}, []);
|
|
587
590
|
|
|
588
|
-
|
|
591
|
+
// The model context is private and should never be used
|
|
592
|
+
return { state, events: wrappedEvents, __UNSTABLE_modelContext: Context, ...rest };
|
|
589
593
|
}
|
|
590
594
|
|
|
591
595
|
wrappedModelHook.getElemProps = getElemProps;
|
|
@@ -3349,7 +3349,7 @@ export declare const Breadcrumbs: import("@workday/canvas-kit-react/common").Ele
|
|
|
3349
3349
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
3350
3350
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
3351
3351
|
getId: (item: any) => string;
|
|
3352
|
-
}>, {
|
|
3352
|
+
}, {}>, {
|
|
3353
3353
|
state: {
|
|
3354
3354
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
3355
3355
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -3484,7 +3484,7 @@ export declare const Breadcrumbs: import("@workday/canvas-kit-react/common").Ele
|
|
|
3484
3484
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
3485
3485
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
3486
3486
|
getId: (item: any) => string;
|
|
3487
|
-
}>) => JSX.Element;
|
|
3487
|
+
}, {}>) => JSX.Element;
|
|
3488
3488
|
List: import("@workday/canvas-kit-react/common").ElementComponentM<"div", import("../../menu/lib/MenuList").MenuListProps<any>, {
|
|
3489
3489
|
state: {
|
|
3490
3490
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
@@ -3620,7 +3620,7 @@ export declare const Breadcrumbs: import("@workday/canvas-kit-react/common").Ele
|
|
|
3620
3620
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
3621
3621
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
3622
3622
|
getId: (item: any) => string;
|
|
3623
|
-
}>>;
|
|
3623
|
+
}, {}>>;
|
|
3624
3624
|
Divider: import("@workday/canvas-kit-react/common").ElementComponent<"hr", unknown>;
|
|
3625
3625
|
Target: import("@workday/canvas-kit-react/common").ElementComponentM<import("@workday/canvas-kit-react/common").ElementComponent<"button", import("../..").SecondaryButtonProps>, import("../../menu/lib/MenuTarget").MenuTargetProps, {
|
|
3626
3626
|
state: {
|
|
@@ -68,7 +68,7 @@ export declare const BreadcrumbsMenuItem: import("@workday/canvas-kit-react/comm
|
|
|
68
68
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
69
69
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
70
70
|
getId: (item: any) => string;
|
|
71
|
-
}>>;
|
|
71
|
+
}, {}>>;
|
|
72
72
|
export declare const BreadcrumbsMenu: import("@workday/canvas-kit-react/common").ComponentM<import("../../menu/lib/Menu").MenuProps & Partial<{
|
|
73
73
|
mode: "multiple" | "single";
|
|
74
74
|
returnFocusRef: React.RefObject<any> | undefined;
|
|
@@ -1303,7 +1303,7 @@ export declare const BreadcrumbsMenu: import("@workday/canvas-kit-react/common")
|
|
|
1303
1303
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
1304
1304
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
1305
1305
|
getId: (item: any) => string;
|
|
1306
|
-
}>, {
|
|
1306
|
+
}, {}>, {
|
|
1307
1307
|
state: {
|
|
1308
1308
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
1309
1309
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -1507,7 +1507,7 @@ export declare const BreadcrumbsMenu: import("@workday/canvas-kit-react/common")
|
|
|
1507
1507
|
selection: import("../../collection/lib/useSelectionListModel").SelectionManager;
|
|
1508
1508
|
navigation: import("../../collection/lib/useCursorListModel").NavigationManager;
|
|
1509
1509
|
getId: (item: any) => string;
|
|
1510
|
-
}>>;
|
|
1510
|
+
}, {}>>;
|
|
1511
1511
|
Divider: import("@workday/canvas-kit-react/common").ElementComponent<"hr", unknown>;
|
|
1512
1512
|
Target: import("@workday/canvas-kit-react/common").ElementComponentM<import("@workday/canvas-kit-react/common").ElementComponent<"button", import("../..").SecondaryButtonProps>, import("../../menu/lib/MenuTarget").MenuTargetProps, {
|
|
1513
1513
|
state: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbsMenu.d.ts","sourceRoot":"","sources":["../../../../breadcrumbs/lib/BreadcrumbsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAmC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAC,IAAI,EAAe,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"BreadcrumbsMenu.d.ts","sourceRoot":"","sources":["../../../../breadcrumbs/lib/BreadcrumbsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAmC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAC,IAAI,EAAe,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAK9B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAIN,aAAa,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useListItemSelect.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useListItemSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGF,gBAAgB,CAAC,WAAW,CAAC;;;
|
|
1
|
+
{"version":3,"file":"useListItemSelect.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useListItemSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAGF,gBAAgB,CAAC,WAAW,CAAC;;;OAWxD,CAAC"}
|
|
@@ -18,11 +18,10 @@ const useListModel_1 = require("./useListModel");
|
|
|
18
18
|
exports.useListItemSelect = common_1.createElemPropsHook(useListModel_1.useListModel)(({ state, events }, _, elemProps = {}) => {
|
|
19
19
|
const name = elemProps['data-id'] || '';
|
|
20
20
|
const onClick = (event) => {
|
|
21
|
-
if (state.nonInteractiveIds.includes(name)
|
|
22
|
-
event.currentTarget.
|
|
23
|
-
|
|
21
|
+
if (!state.nonInteractiveIds.includes(name) &&
|
|
22
|
+
event.currentTarget.getAttribute('aria-disabled') !== 'true') {
|
|
23
|
+
events.select({ id: name });
|
|
24
24
|
}
|
|
25
|
-
events.select({ id: name });
|
|
26
25
|
};
|
|
27
26
|
return { onClick };
|
|
28
27
|
});
|
|
@@ -72,14 +72,20 @@ export declare type ExtractProps<TComponent, TElement extends keyof JSX.Intrinsi
|
|
|
72
72
|
declare type ExtractMaybeModel<TComponent, P> = TComponent extends {
|
|
73
73
|
__model: infer M;
|
|
74
74
|
} ? P & PropsWithModel<M> : P;
|
|
75
|
-
|
|
75
|
+
/**
|
|
76
|
+
* `PropsWithModel` adds the `model` and `elemPropsHook` props. If a model-based component has an
|
|
77
|
+
* `as` referencing another model-based component, the `model` of the `as` component should win.
|
|
78
|
+
*/
|
|
79
|
+
export declare type PropsWithModel<TModel, ElementType = {}> = {
|
|
76
80
|
/**
|
|
77
81
|
* Optional model to pass to the component. This will override the default model created for the
|
|
78
82
|
* component. This can be useful if you want to access to the state and events of the model, or if
|
|
79
83
|
* you have nested components of the same type and you need to override the model provided by
|
|
80
84
|
* React Context.
|
|
81
85
|
*/
|
|
82
|
-
model?:
|
|
86
|
+
model?: ElementType extends {
|
|
87
|
+
__model: infer M;
|
|
88
|
+
} ? M : TModel;
|
|
83
89
|
/**
|
|
84
90
|
* Optional hook that receives the model and all props to be applied to the element. If you use
|
|
85
91
|
* this, it is your responsibility to return props, merging as appropriate. For example, returning
|
|
@@ -116,7 +122,7 @@ export declare type ElementComponent<E extends React.ElementType, P> = {
|
|
|
116
122
|
*/
|
|
117
123
|
export declare type ElementComponentM<E extends React.ElementType, P, TModel> = {
|
|
118
124
|
displayName?: string;
|
|
119
|
-
<ElementType extends React.ElementType>(props: PropsWithoutAs<P, ElementType> & PropsWithModel<TModel> & {
|
|
125
|
+
<ElementType extends React.ElementType>(props: PropsWithoutAs<P, ElementType> & PropsWithModel<TModel, ElementType> & {
|
|
120
126
|
/**
|
|
121
127
|
* Optional override of the default element used by the component. Any valid tag or Component.
|
|
122
128
|
* If you provided a Component, this component should forward the ref using `React.forwardRef`
|
|
@@ -432,7 +438,7 @@ export declare function useLocalRef<T>(ref?: React.Ref<T>): {
|
|
|
432
438
|
* // ...
|
|
433
439
|
* }
|
|
434
440
|
*/
|
|
435
|
-
export declare function useDefaultModel<T, C>(model: T | undefined, config: C, modelHook: (config: C) => T): T;
|
|
441
|
+
export declare function useDefaultModel<T, C>(model: T | undefined, config: C, modelHook: (config: C) => T, as?: React.ElementType): T;
|
|
436
442
|
/**
|
|
437
443
|
* Returns a model, or returns a model context. Clever way around the conditional React hook ESLint
|
|
438
444
|
* rule
|
|
@@ -440,12 +446,12 @@ export declare function useDefaultModel<T, C>(model: T | undefined, config: C, m
|
|
|
440
446
|
* @param context The context of a model
|
|
441
447
|
* @example
|
|
442
448
|
* const SubComponent = ({children, model, ...elemProps}: SubComponentProps, ref, Element) => {
|
|
443
|
-
* const {state, events} = useModelContext(model, SubComponentModelContext);
|
|
449
|
+
* const {state, events} = useModelContext(model, SubComponentModelContext, Element);
|
|
444
450
|
*
|
|
445
451
|
* // ...
|
|
446
452
|
* }
|
|
447
453
|
*/
|
|
448
|
-
export declare function useModelContext<T>(context: React.Context<T>, model?: T): T;
|
|
454
|
+
export declare function useModelContext<T>(context: React.Context<T>, model?: T, as?: React.ElementType): T;
|
|
449
455
|
/**
|
|
450
456
|
* Compose many hooks together. Each hook should make a call to `mergeProps` which is automatically
|
|
451
457
|
* done by `createElemPropsHook` and `createHook. Returns a function that will receive a model and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/components.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ const createContainer = (as) => ({ displayName, modelHook, elemPropsHook, defaul
|
|
|
16
16
|
const Context = modelHook.Context;
|
|
17
17
|
return (Component) => {
|
|
18
18
|
const ReturnedComponent = react_1.default.forwardRef(({ as: asOverride, model, ...props }, ref) => {
|
|
19
|
-
const localModel = useDefaultModel(model, props, modelHook);
|
|
19
|
+
const localModel = useDefaultModel(model, props, modelHook, asOverride);
|
|
20
20
|
const elemProps = (modelHook.getElemProps || defaultGetElemProps)(props);
|
|
21
21
|
const finalElemProps = elemPropsHook
|
|
22
22
|
? elemPropsHook(localModel, elemProps, ref)
|
|
@@ -39,6 +39,7 @@ const createContainer = (as) => ({ displayName, modelHook, elemPropsHook, defaul
|
|
|
39
39
|
}
|
|
40
40
|
});
|
|
41
41
|
ReturnedComponent.displayName = displayName;
|
|
42
|
+
ReturnedComponent.__hasModel = true;
|
|
42
43
|
// The `any`s are here because `ElementComponent` takes care of the `as` type and the
|
|
43
44
|
// `ReturnComponent` type is overridden
|
|
44
45
|
ReturnedComponent.as = memoize_1.memoize((as) => exports.createContainer(as)({ displayName, subComponents, modelHook, elemPropsHook })(Component), as => as);
|
|
@@ -53,10 +54,14 @@ const createSubcomponent = (as) => ({ displayName, modelHook, elemPropsHook, sub
|
|
|
53
54
|
assert_1.assert(modelHook.Context, 'createSubcomponent only works on models with context. Please use `createModelHook` to create the `modelHook`');
|
|
54
55
|
return (Component) => {
|
|
55
56
|
const ReturnedComponent = react_1.default.forwardRef(({ as: asOverride, model, elemPropsHook: additionalPropsHook, ...props }, ref) => {
|
|
56
|
-
const localModel = useModelContext(modelHook.Context, model);
|
|
57
|
+
const localModel = useModelContext(modelHook.Context, model, asOverride);
|
|
58
|
+
// maybeModelProps reattached the `model` prop if the passed model is incompatible with the
|
|
59
|
+
// modelHook's context. This fixes issues when using the `as` prop on model element components
|
|
60
|
+
// that both have a model
|
|
61
|
+
const maybeModelProps = model && localModel !== model ? { ...props, model, ref } : { ...props, ref };
|
|
57
62
|
const elemProps = elemPropsHook
|
|
58
|
-
? elemPropsHook(localModel,
|
|
59
|
-
:
|
|
63
|
+
? elemPropsHook(localModel, maybeModelProps, ref)
|
|
64
|
+
: maybeModelProps;
|
|
60
65
|
return Component(additionalPropsHook ? additionalPropsHook(localModel, elemProps, ref) : elemProps,
|
|
61
66
|
// Cast to `any` to avoid: "ts(2345): Type 'undefined' is not assignable to type 'E extends
|
|
62
67
|
// undefined ? never : E'" I'm not sure I can actually cast to this conditional type and it
|
|
@@ -72,6 +77,7 @@ const createSubcomponent = (as) => ({ displayName, modelHook, elemPropsHook, sub
|
|
|
72
77
|
if (displayName) {
|
|
73
78
|
ReturnedComponent.displayName = displayName;
|
|
74
79
|
}
|
|
80
|
+
ReturnedComponent.__hasModel = true;
|
|
75
81
|
// The `any`s are here because `ElementComponent` takes care of the `as` type and the
|
|
76
82
|
// `ReturnComponent` type is overridden
|
|
77
83
|
ReturnedComponent.as = memoize_1.memoize((as) => exports.createSubcomponent(as)({ displayName, subComponents, modelHook, elemPropsHook })(Component), as => as);
|
|
@@ -312,8 +318,17 @@ exports.useLocalRef = useLocalRef;
|
|
|
312
318
|
* // ...
|
|
313
319
|
* }
|
|
314
320
|
*/
|
|
315
|
-
function useDefaultModel(model, config, modelHook) {
|
|
316
|
-
|
|
321
|
+
function useDefaultModel(model, config, modelHook, as) {
|
|
322
|
+
// Make sure we don't pass the `model` to a component if it is incompatible with that component.
|
|
323
|
+
// Otherwise we'll have strange runtime failures when a component or elemProps hooks try to
|
|
324
|
+
// access the `state` or `events`
|
|
325
|
+
if (!model ||
|
|
326
|
+
(as &&
|
|
327
|
+
as.__hasModel &&
|
|
328
|
+
model.__UNSTABLE_modelContext !== modelHook.Context)) {
|
|
329
|
+
return modelHook(config);
|
|
330
|
+
}
|
|
331
|
+
return model;
|
|
317
332
|
}
|
|
318
333
|
exports.useDefaultModel = useDefaultModel;
|
|
319
334
|
/**
|
|
@@ -323,14 +338,18 @@ exports.useDefaultModel = useDefaultModel;
|
|
|
323
338
|
* @param context The context of a model
|
|
324
339
|
* @example
|
|
325
340
|
* const SubComponent = ({children, model, ...elemProps}: SubComponentProps, ref, Element) => {
|
|
326
|
-
* const {state, events} = useModelContext(model, SubComponentModelContext);
|
|
341
|
+
* const {state, events} = useModelContext(model, SubComponentModelContext, Element);
|
|
327
342
|
*
|
|
328
343
|
* // ...
|
|
329
344
|
* }
|
|
330
345
|
*/
|
|
331
|
-
function useModelContext(context, model) {
|
|
332
|
-
|
|
333
|
-
|
|
346
|
+
function useModelContext(context, model, as) {
|
|
347
|
+
const contextModel = react_1.default.useContext(context);
|
|
348
|
+
if (!model ||
|
|
349
|
+
(as && as.__hasModel && model.__UNSTABLE_modelContext !== context)) {
|
|
350
|
+
return contextModel;
|
|
351
|
+
}
|
|
352
|
+
return model;
|
|
334
353
|
}
|
|
335
354
|
exports.useModelContext = useModelContext;
|
|
336
355
|
function composeHooks(...hooks) {
|
|
@@ -190,9 +190,13 @@ config?: Partial<TDefaultConfig> & TRequiredConfig & ToEventConfig<TState, TEven
|
|
|
190
190
|
* ```
|
|
191
191
|
*/
|
|
192
192
|
export declare type ToEventConfig<TState, TEvents extends Record<string, any>> = {
|
|
193
|
-
[K in keyof TEvents as `on${Capitalize<string & K>}`]?:
|
|
193
|
+
[K in keyof TEvents as `on${Capitalize<string & K>}`]?: {
|
|
194
|
+
bivarianceHack(data: Parameters<TEvents[K]>[0], prevState: TState): void;
|
|
195
|
+
}['bivarianceHack'];
|
|
194
196
|
} & {
|
|
195
|
-
[K in keyof TEvents as `should${Capitalize<string & K>}`]?:
|
|
197
|
+
[K in keyof TEvents as `should${Capitalize<string & K>}`]?: {
|
|
198
|
+
bivarianceHack(data: Parameters<TEvents[K]>[0], state: TState): boolean;
|
|
199
|
+
}['bivarianceHack'];
|
|
196
200
|
};
|
|
197
201
|
export declare type ExtractModelConfig<T extends (config: any) => any> = T extends (config: infer P) => any ? Required<P> : {};
|
|
198
202
|
export declare type ModelConfig<TDefaultConfig, TRequiredConfig> = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/models.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../../../common/lib/utils/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -248,7 +248,8 @@ const createModelHook = (options) => {
|
|
|
248
248
|
return result;
|
|
249
249
|
}, {});
|
|
250
250
|
}, []);
|
|
251
|
-
|
|
251
|
+
// The model context is private and should never be used
|
|
252
|
+
return { state, events: wrappedEvents, __UNSTABLE_modelContext: Context, ...rest };
|
|
252
253
|
}
|
|
253
254
|
wrappedModelHook.getElemProps = getElemProps;
|
|
254
255
|
wrappedModelHook.defaultConfig = defaultConfig;
|
|
@@ -123,7 +123,7 @@ export declare const Dialog: import("@workday/canvas-kit-react/common").Componen
|
|
|
123
123
|
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
124
124
|
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
125
125
|
};
|
|
126
|
-
}>, {
|
|
126
|
+
}, {}>, {
|
|
127
127
|
state: {
|
|
128
128
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
129
129
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -212,7 +212,7 @@ export declare const Dialog: import("@workday/canvas-kit-react/common").Componen
|
|
|
212
212
|
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
213
213
|
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
214
214
|
};
|
|
215
|
-
}>, {
|
|
215
|
+
}, {}>, {
|
|
216
216
|
state: {
|
|
217
217
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
218
218
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -20,7 +20,7 @@ export declare const DialogCard: import("@workday/canvas-kit-react/common").Elem
|
|
|
20
20
|
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
21
21
|
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
22
22
|
};
|
|
23
|
-
}>, {
|
|
23
|
+
}, {}>, {
|
|
24
24
|
state: {
|
|
25
25
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
26
26
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -20,7 +20,7 @@ export declare const DialogPopper: import("@workday/canvas-kit-react/common").El
|
|
|
20
20
|
show(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
21
21
|
hide(event?: Event | React.SyntheticEvent<Element, Event> | undefined): void;
|
|
22
22
|
};
|
|
23
|
-
}>, {
|
|
23
|
+
}, {}>, {
|
|
24
24
|
state: {
|
|
25
25
|
stackRef: React.RefObject<HTMLDivElement>;
|
|
26
26
|
targetRef: React.RefObject<HTMLButtonElement>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../form-field/lib/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,SAAS,EAET,SAAS,EAEV,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAC,sBAAsB,EAAiC,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,cACf,SAAQ,SAAS,EACf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,cAAc;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAoED,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACrF,MAAM,CAAC,aAAa,gCAA0B;IAC9C,MAAM,CAAC,SAAS,mBAAa;IAE7B,OAAO,CAAC,OAAO,CAAoD;IAEnE,OAAO,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../form-field/lib/FormField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACL,cAAc,EACd,SAAS,EAET,SAAS,EAEV,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EAAC,sBAAsB,EAAiC,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,cACf,SAAQ,SAAS,EACf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,cAAc;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAoED,qBAAa,SAAU,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACrF,MAAM,CAAC,aAAa,gCAA0B;IAC9C,MAAM,CAAC,SAAS,mBAAa;IAE7B,OAAO,CAAC,OAAO,CAAoD;IAEnE,OAAO,CAAC,cAAc,CAkCpB;IAEF,MAAM;CA2DP"}
|
|
@@ -12,7 +12,7 @@ export interface LabelProps extends FormFieldLabelPositionBehavior {
|
|
|
12
12
|
*/
|
|
13
13
|
isLegend?: boolean;
|
|
14
14
|
/**
|
|
15
|
-
* The id of
|
|
15
|
+
* The id of the form-related element. Synonymous with `for`.
|
|
16
16
|
*/
|
|
17
17
|
htmlFor?: string;
|
|
18
18
|
/**
|
|
@@ -21,8 +21,9 @@ export interface LabelProps extends FormFieldLabelPositionBehavior {
|
|
|
21
21
|
*/
|
|
22
22
|
required?: boolean;
|
|
23
23
|
/**
|
|
24
|
-
* The
|
|
25
|
-
*
|
|
24
|
+
* The required label is not visible to screen readers and should have no label. This prop will be
|
|
25
|
+
* ignored.
|
|
26
|
+
* @deprecated
|
|
26
27
|
*/
|
|
27
28
|
requiredLabel?: string;
|
|
28
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../form-field/lib/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,sBAAsB,EAAE,8BAA8B,EAAC,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,UAAW,SAAQ,8BAA8B;IAChE;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB
|
|
1
|
+
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../form-field/lib/Label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAC,sBAAsB,EAAE,8BAA8B,EAAC,MAAM,SAAS,CAAC;AAE/E,MAAM,WAAW,UAAW,SAAQ,8BAA8B;IAChE;;;OAGG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsDD,cAAM,KAAM,SAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,CAAC,QAAQ,gCAA0B;IAElC,MAAM;CA8Bd;AAID,OAAO,EAAC,KAAK,EAAC,CAAC"}
|
|
@@ -50,7 +50,7 @@ const labelStyles = [
|
|
|
50
50
|
};
|
|
51
51
|
},
|
|
52
52
|
];
|
|
53
|
-
const
|
|
53
|
+
const RequiredAsterisk = common_1.styled('abbr')({
|
|
54
54
|
color: tokens_1.colors.cinnamon500,
|
|
55
55
|
fontSize: '16px',
|
|
56
56
|
fontWeight: 400,
|
|
@@ -73,12 +73,12 @@ const LegendComponent = common_1.styled('legend')(...labelStyles, ({ labelPositi
|
|
|
73
73
|
const LabelComponent = common_1.styled('label')(...labelStyles);
|
|
74
74
|
class Label extends React.Component {
|
|
75
75
|
render() {
|
|
76
|
-
const { labelPosition = Label.Position.Top, isLegend = false,
|
|
77
|
-
const children = !
|
|
76
|
+
const { labelPosition = Label.Position.Top, isLegend = false, required, ...elemProps } = this.props;
|
|
77
|
+
const children = !required
|
|
78
78
|
? this.props.children
|
|
79
79
|
: [
|
|
80
80
|
this.props.children,
|
|
81
|
-
React.createElement(
|
|
81
|
+
React.createElement(RequiredAsterisk, { key: '0', "aria-hidden": true }, "*"),
|
|
82
82
|
];
|
|
83
83
|
return (React.createElement(React.Fragment, null, isLegend ? (React.createElement(LegendComponent, Object.assign({ labelPosition: labelPosition, isLegend: isLegend }, elemProps, { children: children }))) : (React.createElement(LabelComponent, Object.assign({ labelPosition: labelPosition }, elemProps, { children: children })))));
|
|
84
84
|
}
|