@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.
Files changed (53) hide show
  1. package/collection/lib/useListItemSelect.tsx +3 -4
  2. package/common/lib/utils/components.ts +49 -13
  3. package/common/lib/utils/models.ts +9 -5
  4. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +3 -3
  5. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +3 -3
  6. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
  7. package/dist/commonjs/collection/lib/useListItemSelect.d.ts.map +1 -1
  8. package/dist/commonjs/collection/lib/useListItemSelect.js +3 -4
  9. package/dist/commonjs/common/lib/utils/components.d.ts +12 -6
  10. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  11. package/dist/commonjs/common/lib/utils/components.js +29 -10
  12. package/dist/commonjs/common/lib/utils/models.d.ts +6 -2
  13. package/dist/commonjs/common/lib/utils/models.d.ts.map +1 -1
  14. package/dist/commonjs/common/lib/utils/models.js +2 -1
  15. package/dist/commonjs/dialog/lib/Dialog.d.ts +2 -2
  16. package/dist/commonjs/dialog/lib/DialogCard.d.ts +1 -1
  17. package/dist/commonjs/dialog/lib/DialogPopper.d.ts +1 -1
  18. package/dist/commonjs/form-field/lib/FormField.d.ts.map +1 -1
  19. package/dist/commonjs/form-field/lib/FormField.js +3 -0
  20. package/dist/commonjs/form-field/lib/Label.d.ts +4 -3
  21. package/dist/commonjs/form-field/lib/Label.d.ts.map +1 -1
  22. package/dist/commonjs/form-field/lib/Label.js +4 -4
  23. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  24. package/dist/commonjs/menu/lib/MenuItem.js +5 -2
  25. package/dist/commonjs/modal/lib/Modal.d.ts +2 -2
  26. package/dist/commonjs/modal/lib/ModalOverflowOverlay.d.ts +1 -1
  27. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +3 -3
  28. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +3 -3
  29. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts.map +1 -1
  30. package/dist/es6/collection/lib/useListItemSelect.d.ts.map +1 -1
  31. package/dist/es6/collection/lib/useListItemSelect.js +3 -4
  32. package/dist/es6/common/lib/utils/components.d.ts +12 -6
  33. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  34. package/dist/es6/common/lib/utils/components.js +29 -10
  35. package/dist/es6/common/lib/utils/models.d.ts +6 -2
  36. package/dist/es6/common/lib/utils/models.d.ts.map +1 -1
  37. package/dist/es6/common/lib/utils/models.js +2 -1
  38. package/dist/es6/dialog/lib/Dialog.d.ts +2 -2
  39. package/dist/es6/dialog/lib/DialogCard.d.ts +1 -1
  40. package/dist/es6/dialog/lib/DialogPopper.d.ts +1 -1
  41. package/dist/es6/form-field/lib/FormField.d.ts.map +1 -1
  42. package/dist/es6/form-field/lib/FormField.js +3 -0
  43. package/dist/es6/form-field/lib/Label.d.ts +4 -3
  44. package/dist/es6/form-field/lib/Label.d.ts.map +1 -1
  45. package/dist/es6/form-field/lib/Label.js +4 -4
  46. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  47. package/dist/es6/menu/lib/MenuItem.js +5 -2
  48. package/dist/es6/modal/lib/Modal.d.ts +2 -2
  49. package/dist/es6/modal/lib/ModalOverflowOverlay.d.ts +1 -1
  50. package/form-field/lib/FormField.tsx +4 -0
  51. package/form-field/lib/Label.tsx +9 -8
  52. package/menu/lib/MenuItem.tsx +5 -2
  53. 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.hasAttribute('aria-disabled')
24
+ !state.nonInteractiveIds.includes(name) &&
25
+ event.currentTarget.getAttribute('aria-disabled') !== 'true'
26
26
  ) {
27
- return;
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
- export type PropsWithModel<TModel = never> = {
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, props, ref)
416
- : {...props, ref};
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
- return model || modelHook(config);
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>(context: React.Context<T>, model?: T): T {
814
- // eslint-disable-next-line react-hooks/rules-of-hooks
815
- return model || React.useContext(context);
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
- ) => void;
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
- ) => boolean;
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
- return { state, events: wrappedEvents, ...rest };
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAK9B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAIN,aAAa,OAAO,KAAK,IAAI,EAAE,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAYzD,CAAC"}
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;;;OAYxD,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.hasAttribute('aria-disabled')) {
23
- return;
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
- export declare type PropsWithModel<TModel = never> = {
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?: TModel;
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, props, ref)
59
- : { ...props, ref };
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
- return model || modelHook(config);
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
- // eslint-disable-next-line react-hooks/rules-of-hooks
333
- return model || react_1.default.useContext(context);
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>}`]?: (data: Parameters<TEvents[K]>[0], prevState: TState) => void;
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>}`]?: (data: Parameters<TEvents[K]>[0], state: TState) => boolean;
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
- return { state, events: wrappedEvents, ...rest };
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,CA8BpB;IAEF,MAAM;CA2DP"}
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"}
@@ -97,6 +97,9 @@ class FormField extends React.Component {
97
97
  props['aria-invalid'] = true;
98
98
  }
99
99
  }
100
+ if (this.props.required) {
101
+ props.required = true;
102
+ }
100
103
  props.id = this.inputId;
101
104
  return React.cloneElement(child, props);
102
105
  }
@@ -12,7 +12,7 @@ export interface LabelProps extends FormFieldLabelPositionBehavior {
12
12
  */
13
13
  isLegend?: boolean;
14
14
  /**
15
- * The id of a labelable form-related element. Synonymous with `for`.
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 title of the required label.
25
- * @default required
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;;;OAGG;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"}
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 RequiredAstrisk = common_1.styled('abbr')({
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, requiredLabel = 'required', ...elemProps } = this.props;
77
- const children = !this.props.required
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(RequiredAstrisk, { key: '0', title: requiredLabel }, "*"),
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
  }