@fluentui/react-field 9.0.0-alpha.1

Sign up to get free protection for your applications and to get access to all the features.
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":"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","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