Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .changeset/date-input-part-style-props-docs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
'@astryxdesign/core': patch
---

[docs] List `DateInput`'s `containerClassName`, `containerStyle`, `controlClassName`, and `controlStyle` props in its API reference, alongside `containerXstyle` and `controlXstyle`.

@cixzhang
52 changes: 52 additions & 0 deletions packages/core/src/DateInput/DateInput.doc.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -182,12 +182,36 @@ export const docs = {
description:
'StyleX styles for the Field box around the label, control, and status. containerClassName and containerStyle take a class name and inline styles for the same box. No effect (development warning) where no Field box renders: inside InputGroup (style the group) and in a horizontal-labels FormLayout.',
},
{
name: 'containerClassName',
type: 'string',
description:
'Class name for the Field box. Same targeting as containerXstyle.',
},
{
name: 'containerStyle',
type: 'CSSProperties',
description:
'Inline styles for the Field box. Same targeting as containerXstyle.',
},
{
name: 'controlXstyle',
type: 'StyleXStyles',
description:
'StyleX styles for the visual control box: the bordered element that holds the text, icons, and end controls, never the native input. controlClassName and controlStyle take a class name and inline styles for the same box. Replaces root xstyle, className, and style, which this component does not accept.',
},
{
name: 'controlClassName',
type: 'string',
description:
'Class name for the visual control box. Same targeting as controlXstyle.',
},
{
name: 'controlStyle',
type: 'CSSProperties',
description:
'Inline styles for the visual control box. Same targeting as controlXstyle.',
},
],
theming: {
targets: [
Expand Down Expand Up @@ -503,12 +527,32 @@ export const docsZh = {
description:
'作用于包含标签、控件和状态的 Field 容器的 StyleX 样式;containerClassName 与 containerStyle 以类名和内联样式作用于同一容器。没有 Field 容器时(InputGroup 内或 horizontal-labels FormLayout 中)不生效,并在开发环境发出警告。',
},
{
name: 'containerClassName',
type: 'string',
description: 'Field 容器的类名,作用目标同 containerXstyle。',
},
{
name: 'containerStyle',
type: 'CSSProperties',
description: 'Field 容器的内联样式,作用目标同 containerXstyle。',
},
{
name: 'controlXstyle',
type: 'StyleXStyles',
description:
'作用于可见控件框(带边框、包含文本、图标和末端控件的元素,而非原生 input)的 StyleX 样式;controlClassName 与 controlStyle 以类名和内联样式作用于同一元素。本组件不接受根级 xstyle、className 和 style。',
},
{
name: 'controlClassName',
type: 'string',
description: '可见控件框的类名,作用目标同 controlXstyle。',
},
{
name: 'controlStyle',
type: 'CSSProperties',
description: '可见控件框的内联样式,作用目标同 controlXstyle。',
},
],
theming: {
targets: [
Expand Down Expand Up @@ -615,7 +659,15 @@ export const docsDense = {
"deprecated, use presentation: 'touch'='adaptive-native', 'always'='native', 'never'='adaptive-bottom-sheet'. still works as released; presentation wins if both set.",
containerXstyle:
'Field box (label+control+status); also containerClassName/containerStyle. no effect in InputGroup or horizontal-labels FormLayout',
containerClassName:
'class name for the Field box; same target as containerXstyle',
containerStyle:
'inline styles for the Field box; same target as containerXstyle',
controlXstyle:
'visual control box (border/bg/icons), never the native input; also controlClassName/controlStyle. no root xstyle/className/style',
controlClassName:
'class name for the visual control box; same target as controlXstyle',
controlStyle:
'inline styles for the visual control box; same target as controlXstyle',
},
};
12 changes: 7 additions & 5 deletions packages/core/src/DateInput/DateInput.spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ review_triggers: [public-api, behavior, layout, theming, accessibility]
verified_by:
[
packages/core/src/DateInput/DateInput.test.tsx,
packages/core/src/DateInput/DateInput.fr10.test.tsx,
packages/core/src/DateInput/DateInputTouch.test.tsx,
packages/core/src/DateInput/NativeDateField.test.tsx,
packages/core/src/DateInput/Presentation.test.tsx,
Expand Down Expand Up @@ -48,7 +49,7 @@ compatibility promise, ownership boundary, or visual direction.
| Builder impact | Existing native DateInput `changeAction` handlers now run after `onChange` and receive optimistic busy feedback. No API or migration work is required. |
| Compatibility/readiness | Compatible patch correction under the current input-field family rule. Released defaults and controlled ownership are preserved; exact-head browser evidence remains audit evidence rather than product authority. |
| Review checks | Reject a surface-mapping change, lost constraint, callback-order change, unlabeled field, unreachable disabled reason, changed close behavior, or a theming target placed on the wrong owner. |
| Governing rules | `spec:AST-043/FR1–FR5`; `family:input-fields/FR1–FR6, FR8–FR9`; `family:overlay-dismissal/FR1–FR7`, including its recorded BottomSheet adoption gap; the three architecture records linked above. |
| Governing rules | `spec:AST-043/FR1–FR5`; `family:input-fields/FR1–FR6, FR8–FR10`; `family:overlay-dismissal/FR1–FR7`, including its recorded BottomSheet adoption gap; the three architecture records linked above. |

This table is a review projection; the body below is authoritative only after this
record becomes `current`.
Expand Down Expand Up @@ -249,14 +250,15 @@ approved policy.

The `date-input` target owns the composite field surface. The
`date-input-toggle-icon` target reflects collapsed and expanded states on the icon
itself. The deprecated `date-input-clear-icon` alias remains compatibility metadata;
the shared `input-clear-icon` target owns current clear-glyph theming.
itself. The shared `input-clear-icon` target owns clear-glyph theming; DateInput adds no
clear-glyph target of its own.

## Family and system relationships

- `family:input-fields` owns stable field sizing, end-control space, grouped
adaptation, disabled reasons, loading, Transition Actions, status placement, and
the iOS-only focus-zoom floor; DateInput adopts every listed concept.
adaptation, disabled reasons, loading, Transition Actions, status placement,
base-prop and part-styling targets, and the iOS-only focus-zoom floor; DateInput
adopts every listed concept.
- `family:overlay-dismissal` owns topmost Popover and BottomSheet dismissal. DateInput's
Popover path uses the shared owner; its bottom-sheet path inherits BottomSheet's
recorded adoption gap. DateInput owns only selection, open-state requests, and focus
Expand Down
Loading