@multiplatform.one/forms 7.54.0 → 7.54.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.
- package/dist/cjs/AdaptivePopup/index.native.js +1 -1
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/index.native.js +2 -2
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.native.js +1 -1
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.native.js +2 -2
- package/dist/cjs/DescriptionList/index.native.js.map +1 -1
- package/dist/cjs/ErrorSummary.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.native.js +1 -1
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.native.js +1 -1
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/Form/submissionController.native.js.map +1 -1
- package/dist/cjs/Form/validateOn.native.js.map +1 -1
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
- package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
- package/dist/cjs/MediaPicker/types.native.js.map +1 -1
- package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/cjs/Table/index.native.js.map +1 -1
- package/dist/cjs/Wheel/haptic.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
- package/dist/cjs/actionLabel.native.js.map +1 -1
- package/dist/cjs/fieldDefaults.native.js.map +1 -1
- package/dist/cjs/fieldLayout.native.js +1 -1
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
- package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.native.js +2 -2
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.native.js +5 -5
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.native.js +3 -3
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.native.js +2 -2
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.native.js +5 -5
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.native.js +3 -3
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/ImageField/index.native.js +2 -2
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.native.js +3 -3
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.native.js +3 -3
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.native.js +3 -3
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.native.js +1 -1
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.native.js +1 -1
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/cjs/fields/Rating/types.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.native.js +2 -2
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.native.js +4 -4
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.native.js +2 -2
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.native.js +1 -1
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.native.js +2 -2
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.native.js +2 -2
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.native.js +2 -2
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js +2 -2
- package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
- package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
- package/dist/cjs/formSpacing.cjs +1 -1
- package/dist/cjs/formSpacing.native.js +1 -1
- package/dist/cjs/formSpacing.native.js.map +1 -1
- package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/cjs/index.native.js +45 -45
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
- package/dist/cjs/keyboard/chain.native.js.map +1 -1
- package/dist/cjs/keyboard/index.native.js.map +1 -1
- package/dist/cjs/keyboard/types.native.js.map +1 -1
- package/dist/cjs/requiredMarking.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.native.js +1 -1
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.native.js +1 -1
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/groupContext.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/instantMotion.native.js.map +1 -1
- package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
- package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/cjs/shared/overlayStack.native.js.map +1 -1
- package/dist/cjs/shared/panelPortal.native.js.map +1 -1
- package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
- package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
- package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/cjs/shared/utils.native.js +1 -1
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/shared/zIndex.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/LinkCell.native.js.map +1 -1
- package/dist/esm/formSpacing.mjs +1 -1
- package/dist/esm/formSpacing.native.js +1 -1
- package/dist/jsx/formSpacing.mjs +1 -1
- package/dist/jsx/formSpacing.native.js +1 -1
- package/package.json +8 -8
- package/src/FieldGroup.spec.tsx +4 -4
- package/src/Form/form.spec.tsx +4 -4
- package/src/FormGrid.spec.tsx +15 -14
- package/src/fieldLayout.spec.tsx +7 -7
- package/src/formSpacing.ts +3 -3
- package/types/formSpacing.d.ts +3 -3
package/src/FormGrid.spec.tsx
CHANGED
|
@@ -53,8 +53,8 @@ function stubContainerWidth(width: number) {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
describe("formSpacing tokens", () => {
|
|
56
|
-
it("encodes section gap larger than field gap (DG-FORM-06)", () => {
|
|
57
|
-
expect(formFieldGap).toBe("$
|
|
56
|
+
it("encodes section gap larger than field gap (DG-FORM-06; field rhythm $4, LC-154)", () => {
|
|
57
|
+
expect(formFieldGap).toBe("$4");
|
|
58
58
|
expect(formSectionGap).toBe("$8");
|
|
59
59
|
expect(Number(formSectionGap.slice(1))).toBeGreaterThan(Number(formFieldGap.slice(1)));
|
|
60
60
|
});
|
|
@@ -78,7 +78,8 @@ describe("FormGrid", () => {
|
|
|
78
78
|
expect(grid?.getAttribute("data-columns")).toBe("1");
|
|
79
79
|
expect(grid?.getAttribute("data-requested-columns")).toBe("1");
|
|
80
80
|
expect(grid?.getAttribute("data-max-columns")).toBe("2");
|
|
81
|
-
|
|
81
|
+
// LC-154: fields stack at the fieldGap role.
|
|
82
|
+
expect(grid?.getAttribute("data-gap")).toBe("$4");
|
|
82
83
|
expect(grid?.getAttribute("data-size-token")).toBe("$true");
|
|
83
84
|
});
|
|
84
85
|
|
|
@@ -129,7 +130,7 @@ describe("FormGrid", () => {
|
|
|
129
130
|
expect(grid.style.gridTemplateColumns).toBe("repeat(1, minmax(0, 1fr))");
|
|
130
131
|
});
|
|
131
132
|
|
|
132
|
-
it("gap is the
|
|
133
|
+
it("gap is the field rhythm role (fieldGap $4, LC-154) at any size token, never sizeToken", () => {
|
|
133
134
|
const result = renderWithProviders(
|
|
134
135
|
<Surface size="$5">
|
|
135
136
|
<FormGrid>
|
|
@@ -138,7 +139,7 @@ describe("FormGrid", () => {
|
|
|
138
139
|
</Surface>,
|
|
139
140
|
);
|
|
140
141
|
const grid = result.container.querySelector("[data-mpo-form-grid]");
|
|
141
|
-
expect(grid?.getAttribute("data-gap")).toBe("$
|
|
142
|
+
expect(grid?.getAttribute("data-gap")).toBe("$4");
|
|
142
143
|
expect(grid?.getAttribute("data-size-token")).toBe("$5");
|
|
143
144
|
});
|
|
144
145
|
|
|
@@ -153,10 +154,10 @@ describe("FormGrid", () => {
|
|
|
153
154
|
const grid = result.container.querySelector("[data-mpo-form-grid]");
|
|
154
155
|
expect(grid?.hasAttribute("data-density")).toBe(false);
|
|
155
156
|
expect(grid?.getAttribute("data-size-token")).toBe("$3");
|
|
156
|
-
expect(grid?.getAttribute("data-gap")).toBe("$
|
|
157
|
+
expect(grid?.getAttribute("data-gap")).toBe("$4");
|
|
157
158
|
});
|
|
158
159
|
|
|
159
|
-
it("spreads the role
|
|
160
|
+
it("spreads the fieldGap role fragment (not a raw 16, LC-154)", () => {
|
|
160
161
|
const result = renderWithProviders(
|
|
161
162
|
<Preset>
|
|
162
163
|
<FormGrid>
|
|
@@ -165,7 +166,7 @@ describe("FormGrid", () => {
|
|
|
165
166
|
</Preset>,
|
|
166
167
|
);
|
|
167
168
|
const grid = result.container.querySelector("[data-mpo-form-grid]");
|
|
168
|
-
expect(grid?.getAttribute("data-gap")).toBe("$
|
|
169
|
+
expect(grid?.getAttribute("data-gap")).toBe("$4");
|
|
169
170
|
});
|
|
170
171
|
});
|
|
171
172
|
|
|
@@ -195,7 +196,7 @@ describe("FieldGroup", () => {
|
|
|
195
196
|
).toBe("2");
|
|
196
197
|
});
|
|
197
198
|
|
|
198
|
-
it("field gap is the
|
|
199
|
+
it("field gap is the field rhythm role (fieldGap $4, LC-154), not the size token", () => {
|
|
199
200
|
const result = renderWithProviders(
|
|
200
201
|
<Surface size="$5">
|
|
201
202
|
<FieldGroup legend="Billing">
|
|
@@ -204,7 +205,7 @@ describe("FieldGroup", () => {
|
|
|
204
205
|
</Surface>,
|
|
205
206
|
);
|
|
206
207
|
const group = result.container.querySelector("[data-mpo-field-group]");
|
|
207
|
-
expect(group?.getAttribute("data-field-gap")).toBe("$
|
|
208
|
+
expect(group?.getAttribute("data-field-gap")).toBe("$4");
|
|
208
209
|
expect(group?.getAttribute("data-size-token")).toBe("$5");
|
|
209
210
|
});
|
|
210
211
|
});
|
|
@@ -257,7 +258,7 @@ describe("FormSection", () => {
|
|
|
257
258
|
});
|
|
258
259
|
|
|
259
260
|
describe("FormSection semantic gaps (DG-FORM-06)", () => {
|
|
260
|
-
it("defaults field gap to knobProps.
|
|
261
|
+
it("defaults field gap to knobProps.fieldGap (LC-154) and section gap to knobProps.gapLg", () => {
|
|
261
262
|
const result = renderWithProviders(
|
|
262
263
|
<FormSectionStack>
|
|
263
264
|
<FormSection label="A">
|
|
@@ -267,8 +268,8 @@ describe("FormSection semantic gaps (DG-FORM-06)", () => {
|
|
|
267
268
|
);
|
|
268
269
|
const section = result.container.querySelector("[data-mpo-form-section]");
|
|
269
270
|
const stack = result.container.querySelector("[data-mpo-form-section-stack]");
|
|
270
|
-
// knob defaults:
|
|
271
|
-
expect(section?.getAttribute("data-field-gap")).toBe("$
|
|
271
|
+
// knob defaults: fieldGap $4 (field to field, LC-154), gapLg $5 (between groups)
|
|
272
|
+
expect(section?.getAttribute("data-field-gap")).toBe("$4");
|
|
272
273
|
expect(stack?.getAttribute("data-section-gap")).toBe("$5");
|
|
273
274
|
const fieldStep = Number(section?.getAttribute("data-field-gap")?.slice(1));
|
|
274
275
|
const sectionStep = Number(stack?.getAttribute("data-section-gap")?.slice(1));
|
|
@@ -287,7 +288,7 @@ describe("FormSection semantic gaps (DG-FORM-06)", () => {
|
|
|
287
288
|
);
|
|
288
289
|
const section = result.container.querySelector("[data-mpo-form-section]");
|
|
289
290
|
const stack = result.container.querySelector("[data-mpo-form-section-stack]");
|
|
290
|
-
expect(section?.getAttribute("data-field-gap")).toBe("$
|
|
291
|
+
expect(section?.getAttribute("data-field-gap")).toBe("$4");
|
|
291
292
|
expect(stack?.getAttribute("data-section-gap")).toBe("$5");
|
|
292
293
|
});
|
|
293
294
|
|
package/src/fieldLayout.spec.tsx
CHANGED
|
@@ -266,7 +266,7 @@ describe("FieldLayout banned-error-word DEV warn", () => {
|
|
|
266
266
|
});
|
|
267
267
|
|
|
268
268
|
describe("FieldLayout design-law (MPO-60)", () => {
|
|
269
|
-
it("paints the label at weight
|
|
269
|
+
it("paints the label role at weight 500 (LC-152)", () => {
|
|
270
270
|
const { container } = renderWithProviders(
|
|
271
271
|
<FieldLayout id="w" label="Name">
|
|
272
272
|
<TamaguiInput id="w" />
|
|
@@ -275,7 +275,7 @@ describe("FieldLayout design-law (MPO-60)", () => {
|
|
|
275
275
|
const label = container.querySelector("label") as HTMLElement;
|
|
276
276
|
expect(label).toBeTruthy();
|
|
277
277
|
const weight = label.style.fontWeight || getComputedStyle(label).fontWeight;
|
|
278
|
-
expect(
|
|
278
|
+
expect(String(weight)).toBe("500");
|
|
279
279
|
});
|
|
280
280
|
|
|
281
281
|
it("does not pass a control-height sizeToken to the label (LC-73)", () => {
|
|
@@ -323,12 +323,12 @@ describe("FieldLayout design-law (MPO-60)", () => {
|
|
|
323
323
|
});
|
|
324
324
|
});
|
|
325
325
|
|
|
326
|
-
describe("label
|
|
326
|
+
describe("label role stop and weight knob (LC-152)", () => {
|
|
327
327
|
for (const [fontWeight, expected] of [
|
|
328
|
-
["regular", "
|
|
328
|
+
["regular", "500"],
|
|
329
329
|
["bold", "700"],
|
|
330
330
|
] as const) {
|
|
331
|
-
it(`uses
|
|
331
|
+
it(`uses the label role $2 (13px) and ${fontWeight} weight`, () => {
|
|
332
332
|
const { container } = renderWithProviders(
|
|
333
333
|
<TamaguiProvider config={bodyConfig} defaultTheme="light">
|
|
334
334
|
<Preset overrides={{ fontWeight }}>
|
|
@@ -340,8 +340,8 @@ describe("label body stop and weight knob", () => {
|
|
|
340
340
|
{ tamagui: false },
|
|
341
341
|
);
|
|
342
342
|
const label = container.querySelector("label")!;
|
|
343
|
-
expect(label.className).toContain("_fos-f-size-
|
|
344
|
-
expect(getComputedStyle(label).fontSize).toBe("
|
|
343
|
+
expect(label.className).toContain("_fos-f-size-2");
|
|
344
|
+
expect(getComputedStyle(label).fontSize).toBe("13px");
|
|
345
345
|
expect(getComputedStyle(label).fontWeight).toBe(expected);
|
|
346
346
|
});
|
|
347
347
|
}
|
package/src/formSpacing.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Fallback form rhythm tokens (DG-FORM-06). Prefer `knobProps.
|
|
2
|
+
* Fallback form rhythm tokens (DG-FORM-06). Prefer `knobProps.fieldGap` /
|
|
3
3
|
* `knobProps.gapLg` (the spacing roles) at the layout primitives. These are
|
|
4
|
-
* the roles' `$space` keys, not a size mapping.
|
|
4
|
+
* the roles' `$space` keys, not a size mapping; the field step is LC-154's.
|
|
5
5
|
*/
|
|
6
|
-
export const formFieldGap = "$
|
|
6
|
+
export const formFieldGap = "$4" as const;
|
|
7
7
|
export const formSectionGap = "$8" as const;
|
|
8
8
|
|
|
9
9
|
/** Default readable form width (DG-FORM-08 ~480–600px). */
|
package/types/formSpacing.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Fallback form rhythm tokens (DG-FORM-06). Prefer `knobProps.
|
|
2
|
+
* Fallback form rhythm tokens (DG-FORM-06). Prefer `knobProps.fieldGap` /
|
|
3
3
|
* `knobProps.gapLg` (the spacing roles) at the layout primitives. These are
|
|
4
|
-
* the roles' `$space` keys, not a size mapping.
|
|
4
|
+
* the roles' `$space` keys, not a size mapping; the field step is LC-154's.
|
|
5
5
|
*/
|
|
6
|
-
export declare const formFieldGap: "$
|
|
6
|
+
export declare const formFieldGap: "$4";
|
|
7
7
|
export declare const formSectionGap: "$8";
|
|
8
8
|
/** Default readable form width (DG-FORM-08 ~480–600px). */
|
|
9
9
|
export declare const formReadableMaxWidth = 560;
|