@fluentui/react-field 9.0.0-alpha.1

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 (147) hide show
  1. package/CHANGELOG.json +119 -0
  2. package/CHANGELOG.md +36 -0
  3. package/LICENSE +15 -0
  4. package/README.md +5 -0
  5. package/Spec.md +354 -0
  6. package/dist/index.d.ts +236 -0
  7. package/lib/CheckboxField.js +2 -0
  8. package/lib/CheckboxField.js.map +1 -0
  9. package/lib/ComboboxField.js +2 -0
  10. package/lib/ComboboxField.js.map +1 -0
  11. package/lib/Field.js +2 -0
  12. package/lib/Field.js.map +1 -0
  13. package/lib/InputField.js +2 -0
  14. package/lib/InputField.js.map +1 -0
  15. package/lib/RadioGroupField.js +2 -0
  16. package/lib/RadioGroupField.js.map +1 -0
  17. package/lib/SelectField.js +2 -0
  18. package/lib/SelectField.js.map +1 -0
  19. package/lib/SliderField.js +2 -0
  20. package/lib/SliderField.js.map +1 -0
  21. package/lib/SpinButtonField.js +2 -0
  22. package/lib/SpinButtonField.js.map +1 -0
  23. package/lib/SwitchField.js +2 -0
  24. package/lib/SwitchField.js.map +1 -0
  25. package/lib/TextareaField.js +2 -0
  26. package/lib/TextareaField.js.map +1 -0
  27. package/lib/components/CheckboxField/CheckboxField.js +32 -0
  28. package/lib/components/CheckboxField/CheckboxField.js.map +1 -0
  29. package/lib/components/CheckboxField/index.js +2 -0
  30. package/lib/components/CheckboxField/index.js.map +1 -0
  31. package/lib/components/ComboboxField/ComboboxField.js +14 -0
  32. package/lib/components/ComboboxField/ComboboxField.js.map +1 -0
  33. package/lib/components/ComboboxField/index.js +2 -0
  34. package/lib/components/ComboboxField/index.js.map +1 -0
  35. package/lib/components/Field/Field.types.js +2 -0
  36. package/lib/components/Field/Field.types.js.map +1 -0
  37. package/lib/components/Field/SlotComponent.types.js +2 -0
  38. package/lib/components/Field/SlotComponent.types.js.map +1 -0
  39. package/lib/components/Field/index.js +5 -0
  40. package/lib/components/Field/index.js.map +1 -0
  41. package/lib/components/Field/renderField.js +20 -0
  42. package/lib/components/Field/renderField.js.map +1 -0
  43. package/lib/components/Field/useField.js +139 -0
  44. package/lib/components/Field/useField.js.map +1 -0
  45. package/lib/components/Field/useFieldStyles.js +121 -0
  46. package/lib/components/Field/useFieldStyles.js.map +1 -0
  47. package/lib/components/InputField/InputField.js +14 -0
  48. package/lib/components/InputField/InputField.js.map +1 -0
  49. package/lib/components/InputField/index.js +2 -0
  50. package/lib/components/InputField/index.js.map +1 -0
  51. package/lib/components/RadioGroupField/RadioGroupField.js +15 -0
  52. package/lib/components/RadioGroupField/RadioGroupField.js.map +1 -0
  53. package/lib/components/RadioGroupField/index.js +2 -0
  54. package/lib/components/RadioGroupField/index.js.map +1 -0
  55. package/lib/components/SelectField/SelectField.js +14 -0
  56. package/lib/components/SelectField/SelectField.js.map +1 -0
  57. package/lib/components/SelectField/index.js +2 -0
  58. package/lib/components/SelectField/index.js.map +1 -0
  59. package/lib/components/SliderField/SliderField.js +14 -0
  60. package/lib/components/SliderField/SliderField.js.map +1 -0
  61. package/lib/components/SliderField/index.js +2 -0
  62. package/lib/components/SliderField/index.js.map +1 -0
  63. package/lib/components/SpinButtonField/SpinButtonField.js +14 -0
  64. package/lib/components/SpinButtonField/SpinButtonField.js.map +1 -0
  65. package/lib/components/SpinButtonField/index.js +2 -0
  66. package/lib/components/SpinButtonField/index.js.map +1 -0
  67. package/lib/components/SwitchField/SwitchField.js +14 -0
  68. package/lib/components/SwitchField/SwitchField.js.map +1 -0
  69. package/lib/components/SwitchField/index.js +2 -0
  70. package/lib/components/SwitchField/index.js.map +1 -0
  71. package/lib/components/TextareaField/TextareaField.js +14 -0
  72. package/lib/components/TextareaField/TextareaField.js.map +1 -0
  73. package/lib/components/TextareaField/index.js +2 -0
  74. package/lib/components/TextareaField/index.js.map +1 -0
  75. package/lib/index.js +11 -0
  76. package/lib/index.js.map +1 -0
  77. package/lib-commonjs/CheckboxField.js +10 -0
  78. package/lib-commonjs/CheckboxField.js.map +1 -0
  79. package/lib-commonjs/ComboboxField.js +10 -0
  80. package/lib-commonjs/ComboboxField.js.map +1 -0
  81. package/lib-commonjs/Field.js +10 -0
  82. package/lib-commonjs/Field.js.map +1 -0
  83. package/lib-commonjs/InputField.js +10 -0
  84. package/lib-commonjs/InputField.js.map +1 -0
  85. package/lib-commonjs/RadioGroupField.js +10 -0
  86. package/lib-commonjs/RadioGroupField.js.map +1 -0
  87. package/lib-commonjs/SelectField.js +10 -0
  88. package/lib-commonjs/SelectField.js.map +1 -0
  89. package/lib-commonjs/SliderField.js +10 -0
  90. package/lib-commonjs/SliderField.js.map +1 -0
  91. package/lib-commonjs/SpinButtonField.js +10 -0
  92. package/lib-commonjs/SpinButtonField.js.map +1 -0
  93. package/lib-commonjs/SwitchField.js +10 -0
  94. package/lib-commonjs/SwitchField.js.map +1 -0
  95. package/lib-commonjs/TextareaField.js +10 -0
  96. package/lib-commonjs/TextareaField.js.map +1 -0
  97. package/lib-commonjs/components/CheckboxField/CheckboxField.js +42 -0
  98. package/lib-commonjs/components/CheckboxField/CheckboxField.js.map +1 -0
  99. package/lib-commonjs/components/CheckboxField/index.js +10 -0
  100. package/lib-commonjs/components/CheckboxField/index.js.map +1 -0
  101. package/lib-commonjs/components/ComboboxField/ComboboxField.js +24 -0
  102. package/lib-commonjs/components/ComboboxField/ComboboxField.js.map +1 -0
  103. package/lib-commonjs/components/ComboboxField/index.js +10 -0
  104. package/lib-commonjs/components/ComboboxField/index.js.map +1 -0
  105. package/lib-commonjs/components/Field/Field.types.js +6 -0
  106. package/lib-commonjs/components/Field/Field.types.js.map +1 -0
  107. package/lib-commonjs/components/Field/SlotComponent.types.js +6 -0
  108. package/lib-commonjs/components/Field/SlotComponent.types.js.map +1 -0
  109. package/lib-commonjs/components/Field/index.js +16 -0
  110. package/lib-commonjs/components/Field/index.js.map +1 -0
  111. package/lib-commonjs/components/Field/renderField.js +31 -0
  112. package/lib-commonjs/components/Field/renderField.js.map +1 -0
  113. package/lib-commonjs/components/Field/useField.js +154 -0
  114. package/lib-commonjs/components/Field/useField.js.map +1 -0
  115. package/lib-commonjs/components/Field/useFieldStyles.js +134 -0
  116. package/lib-commonjs/components/Field/useFieldStyles.js.map +1 -0
  117. package/lib-commonjs/components/InputField/InputField.js +24 -0
  118. package/lib-commonjs/components/InputField/InputField.js.map +1 -0
  119. package/lib-commonjs/components/InputField/index.js +10 -0
  120. package/lib-commonjs/components/InputField/index.js.map +1 -0
  121. package/lib-commonjs/components/RadioGroupField/RadioGroupField.js +25 -0
  122. package/lib-commonjs/components/RadioGroupField/RadioGroupField.js.map +1 -0
  123. package/lib-commonjs/components/RadioGroupField/index.js +10 -0
  124. package/lib-commonjs/components/RadioGroupField/index.js.map +1 -0
  125. package/lib-commonjs/components/SelectField/SelectField.js +24 -0
  126. package/lib-commonjs/components/SelectField/SelectField.js.map +1 -0
  127. package/lib-commonjs/components/SelectField/index.js +10 -0
  128. package/lib-commonjs/components/SelectField/index.js.map +1 -0
  129. package/lib-commonjs/components/SliderField/SliderField.js +24 -0
  130. package/lib-commonjs/components/SliderField/SliderField.js.map +1 -0
  131. package/lib-commonjs/components/SliderField/index.js +10 -0
  132. package/lib-commonjs/components/SliderField/index.js.map +1 -0
  133. package/lib-commonjs/components/SpinButtonField/SpinButtonField.js +24 -0
  134. package/lib-commonjs/components/SpinButtonField/SpinButtonField.js.map +1 -0
  135. package/lib-commonjs/components/SpinButtonField/index.js +10 -0
  136. package/lib-commonjs/components/SpinButtonField/index.js.map +1 -0
  137. package/lib-commonjs/components/SwitchField/SwitchField.js +24 -0
  138. package/lib-commonjs/components/SwitchField/SwitchField.js.map +1 -0
  139. package/lib-commonjs/components/SwitchField/index.js +10 -0
  140. package/lib-commonjs/components/SwitchField/index.js.map +1 -0
  141. package/lib-commonjs/components/TextareaField/TextareaField.js +24 -0
  142. package/lib-commonjs/components/TextareaField/TextareaField.js.map +1 -0
  143. package/lib-commonjs/components/TextareaField/index.js +10 -0
  144. package/lib-commonjs/components/TextareaField/index.js.map +1 -0
  145. package/lib-commonjs/index.js +169 -0
  146. package/lib-commonjs/index.js.map +1 -0
  147. package/package.json +64 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/ComboboxField/ComboboxField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,gBAAA,gBAAA,OAAA,CAAA,0BAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AAIa,OAAA,CAAA,uBAAA,gBAA0B,OAAA,CAAA,kBAAA,CAAmB,eAAnB,CAA1B;AAEA,OAAA,CAAA,aAAA,gBAAyD,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EACpG,MAAM,KAAK,GAAG,OAAA,CAAA,iBAAA,CAAkB,KAAlB,EAAyB,GAAzB,EAA8B;IAAE,SAAS,EAAE,gBAAA,CAAA,QAAb;IAAuB,UAAU,EAAE,OAAA,CAAA;EAAnC,CAA9B,CAAd;EACA,OAAA,CAAA,uBAAA,CAAwB,KAAxB;EACA,OAAO,OAAA,CAAA,oBAAA,CAAqB,KAArB,CAAP;AACD,CAJqE,CAAzD;AAMb,OAAA,CAAA,aAAA,CAAc,WAAd,GAA4B,eAA5B","sourcesContent":["import * as React from 'react';\nimport { Combobox } from '@fluentui/react-combobox';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FieldProps } from '../../Field';\nimport { getFieldClassNames, renderField_unstable, useFieldStyles_unstable, useField_unstable } from '../../Field';\n\nexport type ComboboxFieldProps = FieldProps<typeof Combobox>;\n\nexport const comboboxFieldClassNames = getFieldClassNames('ComboboxField');\n\nexport const ComboboxField: ForwardRefComponent<ComboboxFieldProps> = React.forwardRef((props, ref) => {\n const state = useField_unstable(props, ref, { component: Combobox, classNames: comboboxFieldClassNames });\n useFieldStyles_unstable(state);\n return renderField_unstable(state);\n});\n\nComboboxField.displayName = 'ComboboxField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./ComboboxField"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/ComboboxField/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './ComboboxField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=Field.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=SlotComponent.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./Field.types"), exports);
10
+
11
+ tslib_1.__exportStar(require("./renderField"), exports);
12
+
13
+ tslib_1.__exportStar(require("./useField"), exports);
14
+
15
+ tslib_1.__exportStar(require("./useFieldStyles"), exports);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Field/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,YAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './Field.types';\nexport * from './renderField';\nexport * from './useField';\nexport * from './useFieldStyles';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderField_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+ /**
12
+ * Render the final JSX of Field
13
+ */
14
+
15
+
16
+ const renderField_unstable = state => {
17
+ const {
18
+ slots,
19
+ slotProps
20
+ } = react_utilities_1.getSlots(state);
21
+ return React.createElement(slots.root, { ...slotProps.root
22
+ }, slots.label && React.createElement(slots.label, { ...slotProps.label
23
+ }), slots.control && React.createElement(slots.control, { ...slotProps.control
24
+ }), slots.validationMessage && React.createElement(slots.validationMessage, { ...slotProps.validationMessage
25
+ }, slots.validationMessageIcon && React.createElement(slots.validationMessageIcon, { ...slotProps.validationMessageIcon
26
+ }), slotProps.validationMessage.children), slots.hint && React.createElement(slots.hint, { ...slotProps.hint
27
+ }));
28
+ };
29
+
30
+ exports.renderField_unstable = renderField_unstable;
31
+ //# sourceMappingURL=renderField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Field/renderField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,oBAAoB,GAA8B,KAA3B,IAAmD;EACrF,MAAM;IAAE,KAAF;IAAS;EAAT,IAAuB,iBAAA,CAAA,QAAA,CAAqC,KAArC,CAA7B;EAEA,OACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,EACG,KAAK,CAAC,KAAN,IAAe,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,KAAP,EAAY,EAAA,GAAK,SAAS,CAAC;EAAf,CAAZ,CADlB,EAGG,KAAK,CAAC,OAAN,IAAiB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,OAAP,EAAc,EAAA,GAAM,SAAS,CAAC;EAAhB,CAAd,CAHpB,EAIG,KAAK,CAAC,iBAAN,IACC,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,iBAAP,EAAwB,EAAA,GAAK,SAAS,CAAC;EAAf,CAAxB,EACG,KAAK,CAAC,qBAAN,IAA+B,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,qBAAP,EAA4B,EAAA,GAAK,SAAS,CAAC;EAAf,CAA5B,CADlC,EAEG,SAAS,CAAC,iBAAV,CAA4B,QAF/B,CALJ,EAUG,KAAK,CAAC,IAAN,IAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,CAVjB,CADF;AAcD,CAjBM;;AAAM,OAAA,CAAA,oBAAA,GAAoB,oBAApB","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { FieldComponent, FieldSlots, FieldState } from './Field.types';\n\n/**\n * Render the final JSX of Field\n */\nexport const renderField_unstable = <T extends FieldComponent>(state: FieldState<T>) => {\n const { slots, slotProps } = getSlots<FieldSlots<FieldComponent>>(state as FieldState<FieldComponent>);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.label && <slots.label {...slotProps.label} />}\n {/* eslint-disable-next-line @typescript-eslint/no-explicit-any */}\n {slots.control && <slots.control {...(slotProps.control as any)} />}\n {slots.validationMessage && (\n <slots.validationMessage {...slotProps.validationMessage}>\n {slots.validationMessageIcon && <slots.validationMessageIcon {...slotProps.validationMessageIcon} />}\n {slotProps.validationMessage.children}\n </slots.validationMessage>\n )}\n {slots.hint && <slots.hint {...slotProps.hint} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useField_unstable = exports.getPartitionedFieldProps = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_icons_1 = /*#__PURE__*/require("@fluentui/react-icons");
11
+
12
+ const react_label_1 = /*#__PURE__*/require("@fluentui/react-label");
13
+
14
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
15
+
16
+ const validationMessageIcons = {
17
+ error: /*#__PURE__*/React.createElement(react_icons_1.ErrorCircle12Filled, null),
18
+ warning: /*#__PURE__*/React.createElement(react_icons_1.Warning12Filled, null),
19
+ success: /*#__PURE__*/React.createElement(react_icons_1.CheckmarkCircle12Filled, null)
20
+ };
21
+ /**
22
+ * Merge two possibly-undefined IDs for aria-describedby. If both IDs are defined, combines
23
+ * them into a string separated by a space. Otherwise, returns just the defined ID (if any).
24
+ */
25
+
26
+ const mergeAriaDescribedBy = (a, b) => a && b ? `${a} ${b}` : a || b;
27
+ /**
28
+ * Partition the props used by the Field itself, from the props that are passed to the underlying field component.
29
+ */
30
+
31
+
32
+ const getPartitionedFieldProps = props => {
33
+ const {
34
+ className,
35
+ control,
36
+ hint,
37
+ label,
38
+ orientation,
39
+ root,
40
+ style,
41
+ validationMessage,
42
+ validationMessageIcon,
43
+ validationState,
44
+ ...restOfProps
45
+ } = props;
46
+ const fieldProps = {
47
+ className,
48
+ control,
49
+ hint,
50
+ label,
51
+ orientation,
52
+ root,
53
+ style,
54
+ validationMessage,
55
+ validationMessageIcon,
56
+ validationState
57
+ };
58
+ return [fieldProps, restOfProps];
59
+ };
60
+
61
+ exports.getPartitionedFieldProps = getPartitionedFieldProps;
62
+ /**
63
+ * Create the state required to render Field.
64
+ *
65
+ * The returned state can be modified with hooks such as useFieldStyles_unstable,
66
+ * before being passed to renderField_unstable.
67
+ *
68
+ * @param props - Props passed to this field
69
+ * @param ref - Ref to the control slot (primary slot)
70
+ * @param params - Configuration parameters for this Field
71
+ */
72
+
73
+ const useField_unstable = (props, ref, params) => {
74
+ const [fieldProps, controlProps] = exports.getPartitionedFieldProps(props);
75
+ const baseId = react_utilities_1.useId('field-');
76
+ const {
77
+ orientation = 'vertical',
78
+ validationState
79
+ } = fieldProps;
80
+ const root = react_utilities_1.resolveShorthand(fieldProps.root, {
81
+ required: true,
82
+ defaultProps: react_utilities_1.getNativeElementProps('div', fieldProps)
83
+ });
84
+ const label = react_utilities_1.resolveShorthand(fieldProps.label, {
85
+ defaultProps: {
86
+ id: baseId + '__label',
87
+ required: controlProps.required,
88
+ size: typeof controlProps.size === 'string' ? controlProps.size : undefined // htmlFor is set below
89
+
90
+ }
91
+ });
92
+ const validationMessage = react_utilities_1.resolveShorthand(fieldProps.validationMessage, {
93
+ defaultProps: {
94
+ id: baseId + '__validationMessage'
95
+ }
96
+ });
97
+ const hint = react_utilities_1.resolveShorthand(fieldProps.hint, {
98
+ defaultProps: {
99
+ id: baseId + '__hint'
100
+ }
101
+ });
102
+ const validationMessageIcon = react_utilities_1.resolveShorthand(fieldProps.validationMessageIcon, {
103
+ required: !!validationState,
104
+ defaultProps: {
105
+ children: validationState ? validationMessageIcons[validationState] : undefined
106
+ }
107
+ });
108
+ const {
109
+ labelConnection = 'htmlFor'
110
+ } = params;
111
+ const hasError = validationState === 'error';
112
+ const control = react_utilities_1.resolveShorthand(fieldProps.control, {
113
+ required: true,
114
+ defaultProps: {
115
+ ref,
116
+ // Add a default ID only if required for label's htmlFor prop
117
+ id: label && labelConnection === 'htmlFor' ? baseId + '__control' : undefined,
118
+ // Add aria-labelledby only if not using the label's htmlFor
119
+ 'aria-labelledby': labelConnection !== 'htmlFor' ? label === null || label === void 0 ? void 0 : label.id : undefined,
120
+ 'aria-describedby': hasError ? hint === null || hint === void 0 ? void 0 : hint.id : mergeAriaDescribedBy(validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.id, hint === null || hint === void 0 ? void 0 : hint.id),
121
+ 'aria-errormessage': hasError ? validationMessage === null || validationMessage === void 0 ? void 0 : validationMessage.id : undefined,
122
+ 'aria-invalid': hasError ? true : undefined,
123
+ ...controlProps
124
+ }
125
+ });
126
+
127
+ if (labelConnection === 'htmlFor' && label && !label.htmlFor) {
128
+ label.htmlFor = control.id;
129
+ }
130
+
131
+ const state = {
132
+ orientation,
133
+ validationState,
134
+ classNames: params.classNames,
135
+ components: {
136
+ root: 'div',
137
+ control: params.component,
138
+ label: react_label_1.Label,
139
+ validationMessage: 'span',
140
+ validationMessageIcon: 'span',
141
+ hint: 'span'
142
+ },
143
+ root,
144
+ control,
145
+ label,
146
+ validationMessageIcon,
147
+ validationMessage,
148
+ hint
149
+ };
150
+ return state;
151
+ };
152
+
153
+ exports.useField_unstable = useField_unstable;
154
+ //# sourceMappingURL=useField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Field/useField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AASA,MAAM,sBAAsB,GAAG;EAC7B,KAAK,eAAE,KAAA,CAAA,aAAA,CAAC,aAAA,CAAA,mBAAD,EAAoB,IAApB,CADsB;EAE7B,OAAO,eAAE,KAAA,CAAA,aAAA,CAAC,aAAA,CAAA,eAAD,EAAgB,IAAhB,CAFoB;EAG7B,OAAO,eAAE,KAAA,CAAA,aAAA,CAAC,aAAA,CAAA,uBAAD,EAAwB,IAAxB;AAHoB,CAA/B;AAMA;;;AAGG;;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAD,EAAa,CAAb,KAA6B,CAAC,IAAI,CAAL,GAAS,GAAG,CAAC,IAAI,CAAC,EAAlB,GAAuB,CAAC,IAAI,CAAtF;AAEA;;AAEG;;;AACI,MAAM,wBAAwB,GAA8C,KAA3C,IAA2D;EACjG,MAAM;IACJ,SADI;IAEJ,OAFI;IAGJ,IAHI;IAIJ,KAJI;IAKJ,WALI;IAMJ,IANI;IAOJ,KAPI;IAQJ,iBARI;IASJ,qBATI;IAUJ,eAVI;IAWJ,GAAG;EAXC,IAYF,KAZJ;EAcA,MAAM,UAAU,GAAG;IACjB,SADiB;IAEjB,OAFiB;IAGjB,IAHiB;IAIjB,KAJiB;IAKjB,WALiB;IAMjB,IANiB;IAOjB,KAPiB;IAQjB,iBARiB;IASjB,qBATiB;IAUjB;EAViB,CAAnB;EAaA,OAAO,CAAC,UAAD,EAAa,WAAb,CAAP;AACD,CA7BM;;AAAM,OAAA,CAAA,wBAAA,GAAwB,wBAAxB;AA+Bb;;;;;;;;;AASG;;AACI,MAAM,iBAAiB,GAAG,CAC/B,KAD+B,EAE/B,GAF+B,EAG/B,MAH+B,KAId;EACjB,MAAM,CAAC,UAAD,EAAa,YAAb,IAA6B,OAAA,CAAA,wBAAA,CAAyB,KAAzB,CAAnC;EAEA,MAAM,MAAM,GAAG,iBAAA,CAAA,KAAA,CAAM,QAAN,CAAf;EAEA,MAAM;IAAE,WAAW,GAAG,UAAhB;IAA4B;EAA5B,IAAgD,UAAtD;EAEA,MAAM,IAAI,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,IAA5B,EAAkC;IAC7C,QAAQ,EAAE,IADmC;IAE7C,YAAY,EAAE,iBAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B,UAA7B;EAF+B,CAAlC,CAAb;EAKA,MAAM,KAAK,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,KAA5B,EAAmC;IAC/C,YAAY,EAAE;MACZ,EAAE,EAAE,MAAM,GAAG,SADD;MAEZ,QAAQ,EAAE,YAAY,CAAC,QAFX;MAGZ,IAAI,EAAE,OAAO,YAAY,CAAC,IAApB,KAA6B,QAA7B,GAAwC,YAAY,CAAC,IAArD,GAA4D,SAHtD,CAIZ;;IAJY;EADiC,CAAnC,CAAd;EASA,MAAM,iBAAiB,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,iBAA5B,EAA+C;IACvE,YAAY,EAAE;MACZ,EAAE,EAAE,MAAM,GAAG;IADD;EADyD,CAA/C,CAA1B;EAMA,MAAM,IAAI,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,IAA5B,EAAkC;IAC7C,YAAY,EAAE;MACZ,EAAE,EAAE,MAAM,GAAG;IADD;EAD+B,CAAlC,CAAb;EAMA,MAAM,qBAAqB,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,qBAA5B,EAAmD;IAC/E,QAAQ,EAAE,CAAC,CAAC,eADmE;IAE/E,YAAY,EAAE;MACZ,QAAQ,EAAE,eAAe,GAAG,sBAAsB,CAAC,eAAD,CAAzB,GAA6C;IAD1D;EAFiE,CAAnD,CAA9B;EAOA,MAAM;IAAE,eAAe,GAAG;EAApB,IAAkC,MAAxC;EACA,MAAM,QAAQ,GAAG,eAAe,KAAK,OAArC;EAEA,MAAM,OAAO,GAAG,iBAAA,CAAA,gBAAA,CAAiB,UAAU,CAAC,OAA5B,EAAqC;IACnD,QAAQ,EAAE,IADyC;IAEnD,YAAY,EAAE;MACZ,GADY;MAEZ;MACA,EAAE,EAAE,KAAK,IAAI,eAAe,KAAK,SAA7B,GAAyC,MAAM,GAAG,WAAlD,GAAgE,SAHxD;MAIZ;MACA,mBAAmB,eAAe,KAAK,SAApB,GAAgC,KAAK,KAAA,IAAL,IAAA,KAAK,KAAA,KAAA,CAAL,GAAK,KAAA,CAAL,GAAA,KAAK,CAAE,EAAvC,GAA4C,SALnD;MAMZ,oBAAoB,QAAQ,GAAG,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,EAAT,GAAc,oBAAoB,CAAC,iBAAiB,KAAA,IAAjB,IAAA,iBAAiB,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAA,iBAAiB,CAAE,EAApB,EAAwB,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,EAA9B,CANlD;MAOZ,qBAAqB,QAAQ,GAAG,iBAAiB,KAAA,IAAjB,IAAA,iBAAiB,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAA,iBAAiB,CAAE,EAAtB,GAA2B,SAP5C;MAQZ,gBAAgB,QAAQ,GAAG,IAAH,GAAU,SARtB;MASZ,GAAG;IATS;EAFqC,CAArC,CAAhB;;EAeA,IAAI,eAAe,KAAK,SAApB,IAAiC,KAAjC,IAA0C,CAAC,KAAK,CAAC,OAArD,EAA8D;IAC5D,KAAK,CAAC,OAAN,GAAgB,OAAO,CAAC,EAAxB;EACD;;EAED,MAAM,KAAK,GAA+B;IACxC,WADwC;IAExC,eAFwC;IAGxC,UAAU,EAAE,MAAM,CAAC,UAHqB;IAIxC,UAAU,EAAE;MACV,IAAI,EAAE,KADI;MAEV,OAAO,EAAE,MAAM,CAAC,SAFN;MAGV,KAAK,EAAE,aAAA,CAAA,KAHG;MAIV,iBAAiB,EAAE,MAJT;MAKV,qBAAqB,EAAE,MALb;MAMV,IAAI,EAAE;IANI,CAJ4B;IAYxC,IAZwC;IAaxC,OAbwC;IAcxC,KAdwC;IAexC,qBAfwC;IAgBxC,iBAhBwC;IAiBxC;EAjBwC,CAA1C;EAoBA,OAAO,KAAP;AACD,CAvFM;;AAAM,OAAA,CAAA,iBAAA,GAAiB,iBAAjB","sourcesContent":["import * as React from 'react';\nimport { CheckmarkCircle12Filled, ErrorCircle12Filled, Warning12Filled } from '@fluentui/react-icons';\nimport { Label } from '@fluentui/react-label';\nimport { getNativeElementProps, resolveShorthand, useId } from '@fluentui/react-utilities';\nimport type {\n FieldComponent,\n FieldConfig,\n FieldProps,\n FieldPropsWithOptionalComponentProps,\n FieldState,\n} from './Field.types';\n\nconst validationMessageIcons = {\n error: <ErrorCircle12Filled />,\n warning: <Warning12Filled />,\n success: <CheckmarkCircle12Filled />,\n} as const;\n\n/**\n * Merge two possibly-undefined IDs for aria-describedby. If both IDs are defined, combines\n * them into a string separated by a space. Otherwise, returns just the defined ID (if any).\n */\nconst mergeAriaDescribedBy = (a?: string, b?: string) => (a && b ? `${a} ${b}` : a || b);\n\n/**\n * Partition the props used by the Field itself, from the props that are passed to the underlying field component.\n */\nexport const getPartitionedFieldProps = <Props extends FieldProps<FieldComponent>>(props: Props) => {\n const {\n className,\n control,\n hint,\n label,\n orientation,\n root,\n style,\n validationMessage,\n validationMessageIcon,\n validationState,\n ...restOfProps\n } = props;\n\n const fieldProps = {\n className,\n control,\n hint,\n label,\n orientation,\n root,\n style,\n validationMessage,\n validationMessageIcon,\n validationState,\n };\n\n return [fieldProps, restOfProps] as const;\n};\n\n/**\n * Create the state required to render Field.\n *\n * The returned state can be modified with hooks such as useFieldStyles_unstable,\n * before being passed to renderField_unstable.\n *\n * @param props - Props passed to this field\n * @param ref - Ref to the control slot (primary slot)\n * @param params - Configuration parameters for this Field\n */\nexport const useField_unstable = <T extends FieldComponent>(\n props: FieldPropsWithOptionalComponentProps<T>,\n ref: React.Ref<HTMLElement>,\n params: FieldConfig<T>,\n): FieldState<T> => {\n const [fieldProps, controlProps] = getPartitionedFieldProps(props);\n\n const baseId = useId('field-');\n\n const { orientation = 'vertical', validationState } = fieldProps;\n\n const root = resolveShorthand(fieldProps.root, {\n required: true,\n defaultProps: getNativeElementProps('div', fieldProps),\n });\n\n const label = resolveShorthand(fieldProps.label, {\n defaultProps: {\n id: baseId + '__label',\n required: controlProps.required,\n size: typeof controlProps.size === 'string' ? controlProps.size : undefined,\n // htmlFor is set below\n },\n });\n\n const validationMessage = resolveShorthand(fieldProps.validationMessage, {\n defaultProps: {\n id: baseId + '__validationMessage',\n },\n });\n\n const hint = resolveShorthand(fieldProps.hint, {\n defaultProps: {\n id: baseId + '__hint',\n },\n });\n\n const validationMessageIcon = resolveShorthand(fieldProps.validationMessageIcon, {\n required: !!validationState,\n defaultProps: {\n children: validationState ? validationMessageIcons[validationState] : undefined,\n },\n });\n\n const { labelConnection = 'htmlFor' } = params;\n const hasError = validationState === 'error';\n\n const control = resolveShorthand(fieldProps.control, {\n required: true,\n defaultProps: {\n ref,\n // Add a default ID only if required for label's htmlFor prop\n id: label && labelConnection === 'htmlFor' ? baseId + '__control' : undefined,\n // Add aria-labelledby only if not using the label's htmlFor\n 'aria-labelledby': labelConnection !== 'htmlFor' ? label?.id : undefined,\n 'aria-describedby': hasError ? hint?.id : mergeAriaDescribedBy(validationMessage?.id, hint?.id),\n 'aria-errormessage': hasError ? validationMessage?.id : undefined,\n 'aria-invalid': hasError ? true : undefined,\n ...controlProps,\n },\n });\n\n if (labelConnection === 'htmlFor' && label && !label.htmlFor) {\n label.htmlFor = control.id;\n }\n\n const state: FieldState<FieldComponent> = {\n orientation,\n validationState,\n classNames: params.classNames,\n components: {\n root: 'div',\n control: params.component,\n label: Label,\n validationMessage: 'span',\n validationMessageIcon: 'span',\n hint: 'span',\n },\n root,\n control,\n label,\n validationMessageIcon,\n validationMessage,\n hint,\n };\n\n return state as FieldState<T>;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useFieldStyles_unstable = exports.getFieldClassNames = void 0;
7
+
8
+ const react_1 = /*#__PURE__*/require("@griffel/react");
9
+
10
+ const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
11
+
12
+ const getFieldClassNames = name => ({
13
+ root: `fui-${name}`,
14
+ control: `fui-${name}__control`,
15
+ label: `fui-${name}__label`,
16
+ validationMessage: `fui-${name}__validationMessage`,
17
+ validationMessageIcon: `fui-${name}__validationMessageIcon`,
18
+ hint: `fui-${name}__hint`
19
+ });
20
+
21
+ exports.getFieldClassNames = getFieldClassNames;
22
+ /**
23
+ * Styles for the root slot
24
+ */
25
+
26
+ const useRootStyles = /*#__PURE__*/react_1.__styles({
27
+ "base": {
28
+ "mc9l5x": "fwk3njj",
29
+ "Bxotwcr": "f14np9u9",
30
+ "B7hvi0a": "f1m2n5bn"
31
+ },
32
+ "horizontal": {
33
+ "wkccdc": "fai812u",
34
+ "Budl1dq": "fckz59x"
35
+ },
36
+ "secondColumn": {
37
+ "Br312pm": "fd46tj4"
38
+ }
39
+ }, {
40
+ "d": [".fwk3njj{display:inline-grid;}", ".f14np9u9{grid-auto-flow:row;}", ".f1m2n5bn{justify-items:start;}", ".fai812u{grid-template-rows:auto auto auto auto;}", ".fckz59x{grid-template-columns:1fr 2fr;}", ".fd46tj4{grid-column-start:2;}"]
41
+ });
42
+
43
+ const useLabelStyles = /*#__PURE__*/react_1.__styles({
44
+ "base": {
45
+ "B6of3ja": "fg30ohd",
46
+ "jrapky": "fyacil5"
47
+ },
48
+ "horizontal": {
49
+ "Ijaq50": "f16hsg94",
50
+ "nk6f5a": "f1nzqi2z",
51
+ "t21cq0": ["fkujibs", "f199hnxi"],
52
+ "qb2dma": "f9h729m",
53
+ "Bdqf98w": "fhb5wj7"
54
+ }
55
+ }, {
56
+ "d": [".fg30ohd{margin-top:var(--spacingVerticalXXS);}", ".fyacil5{margin-bottom:var(--spacingVerticalXXS);}", ".f16hsg94{grid-row-start:1;}", ".f1nzqi2z{grid-row-end:-1;}", ".fkujibs{margin-right:var(--spacingHorizontalM);}", ".f199hnxi{margin-left:var(--spacingHorizontalM);}", ".f9h729m{-webkit-align-self:start;-ms-flex-item-align:start;align-self:start;}", ".fhb5wj7{justify-self:stretch;}"]
57
+ });
58
+
59
+ const useSecondaryTextStyles = /*#__PURE__*/react_1.__styles({
60
+ "base": {
61
+ "B6of3ja": "fg30ohd",
62
+ "sj55zd": "f11d4kpn",
63
+ "Bahqtrf": "fk6fouc",
64
+ "Be2twd7": "fy9rknc",
65
+ "Bhrd7zp": "figsok6",
66
+ "Bg96gwp": "fwrc4pm"
67
+ },
68
+ "error": {
69
+ "sj55zd": "f1hcrxcs"
70
+ }
71
+ }, {
72
+ "d": [".fg30ohd{margin-top:var(--spacingVerticalXXS);}", ".f11d4kpn{color:var(--colorNeutralForeground3);}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f1hcrxcs{color:var(--colorPaletteRedForeground1);}"]
73
+ });
74
+
75
+ const useValidationMessageIconStyles = /*#__PURE__*/react_1.__styles({
76
+ "base": {
77
+ "Be2twd7": "f1ugzwwg",
78
+ "Bg96gwp": "fp4gqsa",
79
+ "ha4doy": "fmrv4ls",
80
+ "t21cq0": ["fm0x6gh", "fbyavb5"]
81
+ },
82
+ "error": {
83
+ "sj55zd": "f1hcrxcs"
84
+ },
85
+ "warning": {
86
+ "sj55zd": "f1k5f75o"
87
+ },
88
+ "success": {
89
+ "sj55zd": "ffmvakt"
90
+ }
91
+ }, {
92
+ "d": [".f1ugzwwg{font-size:12px;}", ".fp4gqsa{line-height:12px;}", ".fmrv4ls{vertical-align:middle;}", ".fm0x6gh{margin-right:var(--spacingHorizontalXS);}", ".fbyavb5{margin-left:var(--spacingHorizontalXS);}", ".f1hcrxcs{color:var(--colorPaletteRedForeground1);}", ".f1k5f75o{color:var(--colorPaletteDarkOrangeForeground1);}", ".ffmvakt{color:var(--colorPaletteGreenForeground1);}"]
93
+ });
94
+ /**
95
+ * Apply styling to the Field slots based on the state
96
+ */
97
+
98
+
99
+ const useFieldStyles_unstable = state => {
100
+ const classNames = state.classNames;
101
+ const validationState = state.validationState;
102
+ const horizontal = state.orientation === 'horizontal';
103
+ const rootStyles = useRootStyles();
104
+ state.root.className = react_1.mergeClasses(classNames.root, rootStyles.base, horizontal && rootStyles.horizontal, state.root.className);
105
+
106
+ if (state.control) {
107
+ state.control.className = react_1.mergeClasses(classNames.control, horizontal && rootStyles.secondColumn, state.control.className);
108
+ }
109
+
110
+ const labelStyles = useLabelStyles();
111
+
112
+ if (state.label) {
113
+ state.label.className = react_1.mergeClasses(classNames.label, labelStyles.base, horizontal && labelStyles.horizontal, state.label.className);
114
+ }
115
+
116
+ const validationMessageIconStyles = useValidationMessageIconStyles();
117
+
118
+ if (state.validationMessageIcon) {
119
+ state.validationMessageIcon.className = react_1.mergeClasses(classNames.validationMessageIcon, validationMessageIconStyles.base, !!validationState && validationMessageIconStyles[validationState], state.validationMessageIcon.className);
120
+ }
121
+
122
+ const secondaryTextStyles = useSecondaryTextStyles();
123
+
124
+ if (state.validationMessage) {
125
+ state.validationMessage.className = react_1.mergeClasses(classNames.validationMessage, secondaryTextStyles.base, horizontal && rootStyles.secondColumn, validationState === 'error' && secondaryTextStyles.error, state.validationMessage.className);
126
+ }
127
+
128
+ if (state.hint) {
129
+ state.hint.className = react_1.mergeClasses(classNames.hint, secondaryTextStyles.base, horizontal && rootStyles.secondColumn, state.hint.className);
130
+ }
131
+ };
132
+
133
+ exports.useFieldStyles_unstable = useFieldStyles_unstable;
134
+ //# sourceMappingURL=useFieldStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/Field/useFieldStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { FieldComponent, FieldProps, FieldSlots, FieldState } from './Field.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\n\nexport const getFieldClassNames = (name: string): SlotClassNames<FieldSlots<FieldComponent>> => ({\n root: `fui-${name}`,\n control: `fui-${name}__control`,\n label: `fui-${name}__label`,\n validationMessage: `fui-${name}__validationMessage`,\n validationMessageIcon: `fui-${name}__validationMessageIcon`,\n hint: `fui-${name}__hint`,\n});\n\n/**\n * Styles for the root slot\n */\nconst useRootStyles = makeStyles({\n base: {\n display: 'inline-grid',\n gridAutoFlow: 'row',\n justifyItems: 'start',\n },\n\n horizontal: {\n gridTemplateRows: 'auto auto auto auto',\n gridTemplateColumns: '1fr 2fr',\n },\n\n secondColumn: {\n gridColumnStart: '2',\n },\n});\n\nconst useLabelStyles = makeStyles({\n base: {\n marginTop: tokens.spacingVerticalXXS,\n marginBottom: tokens.spacingVerticalXXS,\n },\n\n horizontal: {\n gridRowStart: '1',\n gridRowEnd: '-1',\n marginRight: tokens.spacingHorizontalM,\n alignSelf: 'start',\n justifySelf: 'stretch',\n },\n});\n\nconst useSecondaryTextStyles = makeStyles({\n base: {\n marginTop: tokens.spacingVerticalXXS,\n color: tokens.colorNeutralForeground3,\n ...typographyStyles.caption1,\n },\n\n error: {\n color: tokens.colorPaletteRedForeground1,\n },\n});\n\nconst useValidationMessageIconStyles = makeStyles({\n base: {\n fontSize: '12px',\n lineHeight: '12px',\n verticalAlign: 'middle',\n marginRight: tokens.spacingHorizontalXS,\n },\n\n error: {\n color: tokens.colorPaletteRedForeground1,\n },\n warning: {\n color: tokens.colorPaletteDarkOrangeForeground1,\n },\n success: {\n color: tokens.colorPaletteGreenForeground1,\n },\n});\n\n/**\n * Apply styling to the Field slots based on the state\n */\nexport const useFieldStyles_unstable = <T extends FieldComponent>(state: FieldState<T>) => {\n const classNames = state.classNames;\n const validationState: FieldProps<FieldComponent>['validationState'] = state.validationState;\n const horizontal = state.orientation === 'horizontal';\n\n const rootStyles = useRootStyles();\n state.root.className = mergeClasses(\n classNames.root,\n rootStyles.base,\n horizontal && rootStyles.horizontal,\n state.root.className,\n );\n\n if (state.control) {\n state.control.className = mergeClasses(\n classNames.control,\n horizontal && rootStyles.secondColumn,\n state.control.className,\n );\n }\n\n const labelStyles = useLabelStyles();\n if (state.label) {\n state.label.className = mergeClasses(\n classNames.label,\n labelStyles.base,\n horizontal && labelStyles.horizontal,\n state.label.className,\n );\n }\n\n const validationMessageIconStyles = useValidationMessageIconStyles();\n if (state.validationMessageIcon) {\n state.validationMessageIcon.className = mergeClasses(\n classNames.validationMessageIcon,\n validationMessageIconStyles.base,\n !!validationState && validationMessageIconStyles[validationState],\n state.validationMessageIcon.className,\n );\n }\n\n const secondaryTextStyles = useSecondaryTextStyles();\n if (state.validationMessage) {\n state.validationMessage.className = mergeClasses(\n classNames.validationMessage,\n secondaryTextStyles.base,\n horizontal && rootStyles.secondColumn,\n validationState === 'error' && secondaryTextStyles.error,\n state.validationMessage.className,\n );\n }\n\n if (state.hint) {\n state.hint.className = mergeClasses(\n classNames.hint,\n secondaryTextStyles.base,\n horizontal && rootStyles.secondColumn,\n state.hint.className,\n );\n }\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InputField = exports.inputFieldClassNames = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_input_1 = /*#__PURE__*/require("@fluentui/react-input");
11
+
12
+ const Field_1 = /*#__PURE__*/require("../../Field");
13
+
14
+ exports.inputFieldClassNames = /*#__PURE__*/Field_1.getFieldClassNames('InputField');
15
+ exports.InputField = /*#__PURE__*/React.forwardRef((props, ref) => {
16
+ const state = Field_1.useField_unstable(props, ref, {
17
+ component: react_input_1.Input,
18
+ classNames: exports.inputFieldClassNames
19
+ });
20
+ Field_1.useFieldStyles_unstable(state);
21
+ return Field_1.renderField_unstable(state);
22
+ });
23
+ exports.InputField.displayName = 'InputField';
24
+ //# sourceMappingURL=InputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/InputField/InputField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AAIa,OAAA,CAAA,oBAAA,gBAAuB,OAAA,CAAA,kBAAA,CAAmB,YAAnB,CAAvB;AAEA,OAAA,CAAA,UAAA,gBAAmD,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EAC9F,MAAM,KAAK,GAAG,OAAA,CAAA,iBAAA,CAAkB,KAAlB,EAAyB,GAAzB,EAA8B;IAAE,SAAS,EAAE,aAAA,CAAA,KAAb;IAAoB,UAAU,EAAE,OAAA,CAAA;EAAhC,CAA9B,CAAd;EACA,OAAA,CAAA,uBAAA,CAAwB,KAAxB;EACA,OAAO,OAAA,CAAA,oBAAA,CAAqB,KAArB,CAAP;AACD,CAJ+D,CAAnD;AAMb,OAAA,CAAA,UAAA,CAAW,WAAX,GAAyB,YAAzB","sourcesContent":["import * as React from 'react';\nimport { Input } from '@fluentui/react-input';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FieldProps } from '../../Field';\nimport { getFieldClassNames, renderField_unstable, useFieldStyles_unstable, useField_unstable } from '../../Field';\n\nexport type InputFieldProps = FieldProps<typeof Input>;\n\nexport const inputFieldClassNames = getFieldClassNames('InputField');\n\nexport const InputField: ForwardRefComponent<InputFieldProps> = React.forwardRef((props, ref) => {\n const state = useField_unstable(props, ref, { component: Input, classNames: inputFieldClassNames });\n useFieldStyles_unstable(state);\n return renderField_unstable(state);\n});\n\nInputField.displayName = 'InputField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./InputField"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/InputField/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,cAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './InputField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RadioGroupField = exports.radioGroupFieldClassNames = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_radio_1 = /*#__PURE__*/require("@fluentui/react-radio");
11
+
12
+ const Field_1 = /*#__PURE__*/require("../../Field");
13
+
14
+ exports.radioGroupFieldClassNames = /*#__PURE__*/Field_1.getFieldClassNames('RadioGroupField');
15
+ exports.RadioGroupField = /*#__PURE__*/React.forwardRef((props, ref) => {
16
+ const state = Field_1.useField_unstable(props, ref, {
17
+ component: react_radio_1.RadioGroup,
18
+ classNames: exports.radioGroupFieldClassNames,
19
+ labelConnection: 'aria-labelledby'
20
+ });
21
+ Field_1.useFieldStyles_unstable(state);
22
+ return Field_1.renderField_unstable(state);
23
+ });
24
+ exports.RadioGroupField.displayName = 'RadioGroupField';
25
+ //# sourceMappingURL=RadioGroupField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/RadioGroupField/RadioGroupField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AAIa,OAAA,CAAA,yBAAA,gBAA4B,OAAA,CAAA,kBAAA,CAAmB,iBAAnB,CAA5B;AAEA,OAAA,CAAA,eAAA,gBAA6D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EACxG,MAAM,KAAK,GAAG,OAAA,CAAA,iBAAA,CAAkB,KAAlB,EAAyB,GAAzB,EAA8B;IAC1C,SAAS,EAAE,aAAA,CAAA,UAD+B;IAE1C,UAAU,EAAE,OAAA,CAAA,yBAF8B;IAG1C,eAAe,EAAE;EAHyB,CAA9B,CAAd;EAKA,OAAA,CAAA,uBAAA,CAAwB,KAAxB;EACA,OAAO,OAAA,CAAA,oBAAA,CAAqB,KAArB,CAAP;AACD,CARyE,CAA7D;AAUb,OAAA,CAAA,eAAA,CAAgB,WAAhB,GAA8B,iBAA9B","sourcesContent":["import * as React from 'react';\nimport { RadioGroup } from '@fluentui/react-radio';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FieldProps } from '../../Field';\nimport { getFieldClassNames, renderField_unstable, useFieldStyles_unstable, useField_unstable } from '../../Field';\n\nexport type RadioGroupFieldProps = FieldProps<typeof RadioGroup>;\n\nexport const radioGroupFieldClassNames = getFieldClassNames('RadioGroupField');\n\nexport const RadioGroupField: ForwardRefComponent<RadioGroupFieldProps> = React.forwardRef((props, ref) => {\n const state = useField_unstable(props, ref, {\n component: RadioGroup,\n classNames: radioGroupFieldClassNames,\n labelConnection: 'aria-labelledby',\n });\n useFieldStyles_unstable(state);\n return renderField_unstable(state);\n});\n\nRadioGroupField.displayName = 'RadioGroupField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./RadioGroupField"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/RadioGroupField/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './RadioGroupField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SelectField = exports.selectFieldClassNames = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_select_1 = /*#__PURE__*/require("@fluentui/react-select");
11
+
12
+ const Field_1 = /*#__PURE__*/require("../../Field");
13
+
14
+ exports.selectFieldClassNames = /*#__PURE__*/Field_1.getFieldClassNames('SelectField');
15
+ exports.SelectField = /*#__PURE__*/React.forwardRef((props, ref) => {
16
+ const state = Field_1.useField_unstable(props, ref, {
17
+ component: react_select_1.Select,
18
+ classNames: exports.selectFieldClassNames
19
+ });
20
+ Field_1.useFieldStyles_unstable(state);
21
+ return Field_1.renderField_unstable(state);
22
+ });
23
+ exports.SelectField.displayName = 'SelectField';
24
+ //# sourceMappingURL=SelectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/SelectField/SelectField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AAIa,OAAA,CAAA,qBAAA,gBAAwB,OAAA,CAAA,kBAAA,CAAmB,aAAnB,CAAxB;AAEA,OAAA,CAAA,WAAA,gBAAqD,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EAChG,MAAM,KAAK,GAAG,OAAA,CAAA,iBAAA,CAAkB,KAAlB,EAAyB,GAAzB,EAA8B;IAAE,SAAS,EAAE,cAAA,CAAA,MAAb;IAAqB,UAAU,EAAE,OAAA,CAAA;EAAjC,CAA9B,CAAd;EACA,OAAA,CAAA,uBAAA,CAAwB,KAAxB;EACA,OAAO,OAAA,CAAA,oBAAA,CAAqB,KAArB,CAAP;AACD,CAJiE,CAArD;AAMb,OAAA,CAAA,WAAA,CAAY,WAAZ,GAA0B,aAA1B","sourcesContent":["import * as React from 'react';\nimport { Select } from '@fluentui/react-select';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FieldProps } from '../../Field';\nimport { getFieldClassNames, renderField_unstable, useFieldStyles_unstable, useField_unstable } from '../../Field';\n\nexport type SelectFieldProps = FieldProps<typeof Select>;\n\nexport const selectFieldClassNames = getFieldClassNames('SelectField');\n\nexport const SelectField: ForwardRefComponent<SelectFieldProps> = React.forwardRef((props, ref) => {\n const state = useField_unstable(props, ref, { component: Select, classNames: selectFieldClassNames });\n useFieldStyles_unstable(state);\n return renderField_unstable(state);\n});\n\nSelectField.displayName = 'SelectField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./SelectField"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/SelectField/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './SelectField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SliderField = exports.sliderFieldClassNames = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_slider_1 = /*#__PURE__*/require("@fluentui/react-slider");
11
+
12
+ const Field_1 = /*#__PURE__*/require("../../Field");
13
+
14
+ exports.sliderFieldClassNames = /*#__PURE__*/Field_1.getFieldClassNames('SliderField');
15
+ exports.SliderField = /*#__PURE__*/React.forwardRef((props, ref) => {
16
+ const state = Field_1.useField_unstable(props, ref, {
17
+ component: react_slider_1.Slider,
18
+ classNames: exports.sliderFieldClassNames
19
+ });
20
+ Field_1.useFieldStyles_unstable(state);
21
+ return Field_1.renderField_unstable(state);
22
+ });
23
+ exports.SliderField.displayName = 'SliderField';
24
+ //# sourceMappingURL=SliderField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/SliderField/SliderField.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AAGA,MAAA,OAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;;AAIa,OAAA,CAAA,qBAAA,gBAAwB,OAAA,CAAA,kBAAA,CAAmB,aAAnB,CAAxB;AAEA,OAAA,CAAA,WAAA,gBAAqD,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EAChG,MAAM,KAAK,GAAG,OAAA,CAAA,iBAAA,CAAkB,KAAlB,EAAyB,GAAzB,EAA8B;IAAE,SAAS,EAAE,cAAA,CAAA,MAAb;IAAqB,UAAU,EAAE,OAAA,CAAA;EAAjC,CAA9B,CAAd;EACA,OAAA,CAAA,uBAAA,CAAwB,KAAxB;EACA,OAAO,OAAA,CAAA,oBAAA,CAAqB,KAArB,CAAP;AACD,CAJiE,CAArD;AAMb,OAAA,CAAA,WAAA,CAAY,WAAZ,GAA0B,aAA1B","sourcesContent":["import * as React from 'react';\nimport { Slider } from '@fluentui/react-slider';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { FieldProps } from '../../Field';\nimport { getFieldClassNames, renderField_unstable, useFieldStyles_unstable, useField_unstable } from '../../Field';\n\nexport type SliderFieldProps = FieldProps<typeof Slider>;\n\nexport const sliderFieldClassNames = getFieldClassNames('SliderField');\n\nexport const SliderField: ForwardRefComponent<SliderFieldProps> = React.forwardRef((props, ref) => {\n const state = useField_unstable(props, ref, { component: Slider, classNames: sliderFieldClassNames });\n useFieldStyles_unstable(state);\n return renderField_unstable(state);\n});\n\nSliderField.displayName = 'SliderField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./SliderField"), exports);
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/SliderField/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './SliderField';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SpinButtonField = exports.spinButtonFieldClassNames = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_spinbutton_1 = /*#__PURE__*/require("@fluentui/react-spinbutton");
11
+
12
+ const Field_1 = /*#__PURE__*/require("../../Field");
13
+
14
+ exports.spinButtonFieldClassNames = /*#__PURE__*/Field_1.getFieldClassNames('SpinButtonField');
15
+ exports.SpinButtonField = /*#__PURE__*/React.forwardRef((props, ref) => {
16
+ const state = Field_1.useField_unstable(props, ref, {
17
+ component: react_spinbutton_1.SpinButton,
18
+ classNames: exports.spinButtonFieldClassNames
19
+ });
20
+ Field_1.useFieldStyles_unstable(state);
21
+ return Field_1.renderField_unstable(state);
22
+ });
23
+ exports.SpinButtonField.displayName = 'SpinButtonField';
24
+ //# sourceMappingURL=SpinButtonField.js.map