@oddkin/components 1.0.0-beta.0 → 1.0.0-beta.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/README.md +2 -2
- package/agent/GUIDE.md +4 -12
- package/agent/kit.json +57 -9
- package/agent/llms.txt +10 -2
- package/agent/references/components/odd-alert.md +1 -5
- package/agent/references/components/odd-avatar.md +1 -5
- package/agent/references/components/odd-badge.md +1 -5
- package/agent/references/components/odd-breadcrumbs.md +1 -5
- package/agent/references/components/odd-button.md +1 -5
- package/agent/references/components/odd-calendar.md +1 -5
- package/agent/references/components/odd-card.md +1 -5
- package/agent/references/components/odd-carousel.md +1 -5
- package/agent/references/components/odd-checkbox-group.md +1 -5
- package/agent/references/components/odd-checkbox.md +1 -5
- package/agent/references/components/odd-chip.md +1 -5
- package/agent/references/components/odd-color-picker.md +1 -5
- package/agent/references/components/odd-combobox.md +1 -5
- package/agent/references/components/odd-command-palette.md +1 -5
- package/agent/references/components/odd-container.md +1 -5
- package/agent/references/components/odd-copy-button.md +1 -5
- package/agent/references/components/odd-date-picker.md +1 -5
- package/agent/references/components/odd-dialog.md +1 -5
- package/agent/references/components/odd-disclosure.md +1 -5
- package/agent/references/components/odd-drawer.md +1 -5
- package/agent/references/components/odd-empty-state.md +1 -5
- package/agent/references/components/odd-file-input.md +1 -5
- package/agent/references/components/odd-icon.md +1 -5
- package/agent/references/components/odd-input.md +1 -5
- package/agent/references/components/odd-listbox.md +1 -5
- package/agent/references/components/odd-menu.md +1 -5
- package/agent/references/components/odd-one-time-code.md +1 -5
- package/agent/references/components/odd-pagination.md +1 -5
- package/agent/references/components/odd-picker.md +1 -5
- package/agent/references/components/odd-popover.md +1 -5
- package/agent/references/components/odd-progress.md +1 -5
- package/agent/references/components/odd-radio-group.md +1 -5
- package/agent/references/components/odd-rating.md +1 -5
- package/agent/references/components/odd-relative-time.md +1 -5
- package/agent/references/components/odd-scroll-region.md +1 -5
- package/agent/references/components/odd-segmented-control.md +1 -5
- package/agent/references/components/odd-select.md +1 -5
- package/agent/references/components/odd-side-nav.md +1 -5
- package/agent/references/components/odd-skeleton.md +1 -5
- package/agent/references/components/odd-slider.md +1 -5
- package/agent/references/components/odd-spinner.md +1 -5
- package/agent/references/components/odd-split-button.md +1 -5
- package/agent/references/components/odd-split-panel.md +1 -5
- package/agent/references/components/odd-stat.md +1 -5
- package/agent/references/components/odd-status-marker.md +1 -5
- package/agent/references/components/odd-switch.md +1 -5
- package/agent/references/components/odd-tab-panel.md +1 -5
- package/agent/references/components/odd-tabs.md +1 -5
- package/agent/references/components/odd-textarea.md +1 -5
- package/agent/references/components/odd-toast.md +1 -5
- package/agent/references/components/odd-toolbar.md +1 -5
- package/agent/references/components/odd-tooltip.md +1 -5
- package/agent/references/components/odd-tree.md +1 -5
- package/agent/references/components/odd-validation-summary.md +1 -5
- package/agent/references/composition.md +39 -0
- package/agent/references/recipes/breadcrumbs.md +9 -0
- package/agent/references/recipes/calendar.md +11 -0
- package/agent/references/recipes/dialog.md +10 -0
- package/agent/references/recipes/disclosure.md +9 -0
- package/agent/references/recipes/file-input.md +13 -0
- package/agent/references/recipes/pagination.md +10 -0
- package/agent/references/recipes/toolbar.md +13 -0
- package/agent/references/recipes/validation-summary.md +11 -0
- package/agent/references/stylesheets/layout.md +2 -2
- package/dist/breadcrumbs/breadcrumbs.recipe.d.ts +3 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.d.ts.map +1 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.js +10 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.js.map +1 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.styles.d.ts +2 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.styles.d.ts.map +1 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.styles.js +5 -0
- package/dist/breadcrumbs/breadcrumbs.recipe.styles.js.map +1 -0
- package/dist/breadcrumbs/breadcrumbs.structural.styles.d.ts +2 -1
- package/dist/breadcrumbs/breadcrumbs.structural.styles.d.ts.map +1 -1
- package/dist/breadcrumbs/breadcrumbs.structural.styles.js +4 -5
- package/dist/breadcrumbs/breadcrumbs.structural.styles.js.map +1 -1
- package/dist/breadcrumbs/breadcrumbs.styles.d.ts.map +1 -1
- package/dist/breadcrumbs/breadcrumbs.styles.js +0 -1
- package/dist/breadcrumbs/breadcrumbs.styles.js.map +1 -1
- package/dist/calendar/calendar.recipe.d.ts +3 -0
- package/dist/calendar/calendar.recipe.d.ts.map +1 -0
- package/dist/calendar/calendar.recipe.js +12 -0
- package/dist/calendar/calendar.recipe.js.map +1 -0
- package/dist/calendar/calendar.recipe.styles.d.ts +2 -0
- package/dist/calendar/calendar.recipe.styles.d.ts.map +1 -0
- package/dist/calendar/calendar.recipe.styles.js +5 -0
- package/dist/calendar/calendar.recipe.styles.js.map +1 -0
- package/dist/calendar/calendar.structural.styles.d.ts +2 -1
- package/dist/calendar/calendar.structural.styles.d.ts.map +1 -1
- package/dist/calendar/calendar.structural.styles.js +4 -11
- package/dist/calendar/calendar.structural.styles.js.map +1 -1
- package/dist/calendar/calendar.styles.d.ts.map +1 -1
- package/dist/calendar/calendar.styles.js +0 -7
- package/dist/calendar/calendar.styles.js.map +1 -1
- package/dist/css/field.css +1 -0
- package/dist/css/index.d.ts +2 -1
- package/dist/css/index.d.ts.map +1 -1
- package/dist/css/index.js +7 -1
- package/dist/css/index.js.map +1 -1
- package/dist/css/layout.css +4 -0
- package/dist/dialog/dialog.recipe.d.ts +3 -0
- package/dist/dialog/dialog.recipe.d.ts.map +1 -0
- package/dist/dialog/dialog.recipe.js +11 -0
- package/dist/dialog/dialog.recipe.js.map +1 -0
- package/dist/dialog/dialog.recipe.styles.d.ts +2 -0
- package/dist/dialog/dialog.recipe.styles.d.ts.map +1 -0
- package/dist/dialog/dialog.recipe.styles.js +5 -0
- package/dist/dialog/dialog.recipe.styles.js.map +1 -0
- package/dist/dialog/dialog.structural.styles.d.ts +2 -1
- package/dist/dialog/dialog.structural.styles.d.ts.map +1 -1
- package/dist/dialog/dialog.structural.styles.js +4 -6
- package/dist/dialog/dialog.structural.styles.js.map +1 -1
- package/dist/dialog/dialog.styles.d.ts.map +1 -1
- package/dist/dialog/dialog.styles.js +0 -2
- package/dist/dialog/dialog.styles.js.map +1 -1
- package/dist/disclosure/disclosure.recipe.d.ts +3 -0
- package/dist/disclosure/disclosure.recipe.d.ts.map +1 -0
- package/dist/disclosure/disclosure.recipe.js +10 -0
- package/dist/disclosure/disclosure.recipe.js.map +1 -0
- package/dist/disclosure/disclosure.recipe.styles.d.ts +2 -0
- package/dist/disclosure/disclosure.recipe.styles.d.ts.map +1 -0
- package/dist/disclosure/disclosure.recipe.styles.js +5 -0
- package/dist/disclosure/disclosure.recipe.styles.js.map +1 -0
- package/dist/disclosure/disclosure.structural.styles.d.ts +2 -1
- package/dist/disclosure/disclosure.structural.styles.d.ts.map +1 -1
- package/dist/disclosure/disclosure.structural.styles.js +4 -3
- package/dist/disclosure/disclosure.structural.styles.js.map +1 -1
- package/dist/disclosure/disclosure.styles.d.ts.map +1 -1
- package/dist/disclosure/disclosure.styles.js +0 -1
- package/dist/disclosure/disclosure.styles.js.map +1 -1
- package/dist/file-input/file-input.recipe.d.ts +3 -0
- package/dist/file-input/file-input.recipe.d.ts.map +1 -0
- package/dist/file-input/file-input.recipe.js +14 -0
- package/dist/file-input/file-input.recipe.js.map +1 -0
- package/dist/file-input/file-input.recipe.styles.d.ts +2 -0
- package/dist/file-input/file-input.recipe.styles.d.ts.map +1 -0
- package/dist/file-input/file-input.recipe.styles.js +5 -0
- package/dist/file-input/file-input.recipe.styles.js.map +1 -0
- package/dist/file-input/file-input.structural.styles.d.ts +2 -1
- package/dist/file-input/file-input.structural.styles.d.ts.map +1 -1
- package/dist/file-input/file-input.structural.styles.js +4 -15
- package/dist/file-input/file-input.structural.styles.js.map +1 -1
- package/dist/file-input/file-input.styles.d.ts.map +1 -1
- package/dist/file-input/file-input.styles.js +0 -8
- package/dist/file-input/file-input.styles.js.map +1 -1
- package/dist/input/input.styles.d.ts +3 -1
- package/dist/input/input.styles.d.ts.map +1 -1
- package/dist/input/input.styles.js +7 -1
- package/dist/input/input.styles.js.map +1 -1
- package/dist/pagination/pagination.recipe.d.ts +3 -0
- package/dist/pagination/pagination.recipe.d.ts.map +1 -0
- package/dist/pagination/pagination.recipe.js +11 -0
- package/dist/pagination/pagination.recipe.js.map +1 -0
- package/dist/pagination/pagination.recipe.styles.d.ts +2 -0
- package/dist/pagination/pagination.recipe.styles.d.ts.map +1 -0
- package/dist/pagination/pagination.recipe.styles.js +5 -0
- package/dist/pagination/pagination.recipe.styles.js.map +1 -0
- package/dist/pagination/pagination.structural.styles.d.ts +2 -2
- package/dist/pagination/pagination.structural.styles.d.ts.map +1 -1
- package/dist/pagination/pagination.structural.styles.js +4 -12
- package/dist/pagination/pagination.structural.styles.js.map +1 -1
- package/dist/pagination/pagination.styles.d.ts.map +1 -1
- package/dist/pagination/pagination.styles.js +0 -4
- package/dist/pagination/pagination.styles.js.map +1 -1
- package/dist/segmented-control/segmented-control.structural.styles.d.ts +5 -3
- package/dist/segmented-control/segmented-control.structural.styles.d.ts.map +1 -1
- package/dist/segmented-control/segmented-control.structural.styles.js +9 -7
- package/dist/segmented-control/segmented-control.structural.styles.js.map +1 -1
- package/dist/select/select.structural.styles.d.ts +6 -4
- package/dist/select/select.structural.styles.d.ts.map +1 -1
- package/dist/select/select.structural.styles.js +9 -4
- package/dist/select/select.structural.styles.js.map +1 -1
- package/dist/side-nav/side-nav.structural.styles.d.ts.map +1 -1
- package/dist/side-nav/side-nav.structural.styles.js +8 -2
- package/dist/side-nav/side-nav.structural.styles.js.map +1 -1
- package/dist/side-nav/side-nav.styles.d.ts +2 -1
- package/dist/side-nav/side-nav.styles.d.ts.map +1 -1
- package/dist/side-nav/side-nav.styles.js +10 -3
- package/dist/side-nav/side-nav.styles.js.map +1 -1
- package/dist/styles/control-indicator.structural.styles.d.ts.map +1 -1
- package/dist/styles/control-indicator.structural.styles.js +1 -0
- package/dist/styles/control-indicator.structural.styles.js.map +1 -1
- package/dist/styles/field.structural.styles.d.ts +1 -0
- package/dist/styles/field.structural.styles.d.ts.map +1 -1
- package/dist/styles/field.structural.styles.js +2 -0
- package/dist/styles/field.structural.styles.js.map +1 -1
- package/dist/styles/nav-row.structural.styles.d.ts +4 -2
- package/dist/styles/nav-row.structural.styles.d.ts.map +1 -1
- package/dist/styles/nav-row.structural.styles.js +12 -5
- package/dist/styles/nav-row.structural.styles.js.map +1 -1
- package/dist/styles/nav-row.styles.d.ts +2 -0
- package/dist/styles/nav-row.styles.d.ts.map +1 -1
- package/dist/styles/nav-row.styles.js +8 -4
- package/dist/styles/nav-row.styles.js.map +1 -1
- package/dist/tabs/tabs.structural.styles.d.ts +2 -1
- package/dist/tabs/tabs.structural.styles.d.ts.map +1 -1
- package/dist/tabs/tabs.structural.styles.js +6 -1
- package/dist/tabs/tabs.structural.styles.js.map +1 -1
- package/dist/toolbar/toolbar.recipe.d.ts +3 -0
- package/dist/toolbar/toolbar.recipe.d.ts.map +1 -0
- package/dist/toolbar/toolbar.recipe.js +20 -0
- package/dist/toolbar/toolbar.recipe.js.map +1 -0
- package/dist/toolbar/toolbar.recipe.styles.d.ts +2 -0
- package/dist/toolbar/toolbar.recipe.styles.d.ts.map +1 -0
- package/dist/toolbar/toolbar.recipe.styles.js +5 -0
- package/dist/toolbar/toolbar.recipe.styles.js.map +1 -0
- package/dist/toolbar/toolbar.structural.styles.d.ts +2 -2
- package/dist/toolbar/toolbar.structural.styles.d.ts.map +1 -1
- package/dist/toolbar/toolbar.structural.styles.js +4 -13
- package/dist/toolbar/toolbar.structural.styles.js.map +1 -1
- package/dist/toolbar/toolbar.styles.d.ts.map +1 -1
- package/dist/toolbar/toolbar.styles.js +0 -1
- package/dist/toolbar/toolbar.styles.js.map +1 -1
- package/dist/validation-summary/validation-summary.recipe.d.ts +3 -0
- package/dist/validation-summary/validation-summary.recipe.d.ts.map +1 -0
- package/dist/validation-summary/validation-summary.recipe.js +12 -0
- package/dist/validation-summary/validation-summary.recipe.js.map +1 -0
- package/dist/validation-summary/validation-summary.recipe.styles.d.ts +2 -0
- package/dist/validation-summary/validation-summary.recipe.styles.d.ts.map +1 -0
- package/dist/validation-summary/validation-summary.recipe.styles.js +5 -0
- package/dist/validation-summary/validation-summary.recipe.styles.js.map +1 -0
- package/dist/validation-summary/validation-summary.structural.styles.d.ts +2 -2
- package/dist/validation-summary/validation-summary.structural.styles.d.ts.map +1 -1
- package/dist/validation-summary/validation-summary.structural.styles.js +4 -11
- package/dist/validation-summary/validation-summary.structural.styles.js.map +1 -1
- package/dist/validation-summary/validation-summary.styles.d.ts.map +1 -1
- package/dist/validation-summary/validation-summary.styles.js +0 -7
- package/dist/validation-summary/validation-summary.styles.js.map +1 -1
- package/oddkin.metadata.json +5189 -4595
- package/package.json +7 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-menu>` (OddkinMenu)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Actions. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A menu button (APG): a button that opens a menu of actions, with groups, separators, and
|
|
6
6
|
submenus. Items come from `<option value>` (the value is the item's `id`), `<optgroup label>`,
|
|
@@ -94,7 +94,3 @@ Explained mistakes (never use these as patterns):
|
|
|
94
94
|
- `contract:core/update-complete`
|
|
95
95
|
- `contract:core/scope`
|
|
96
96
|
- `contract:core/composition`
|
|
97
|
-
|
|
98
|
-
## Verified
|
|
99
|
-
|
|
100
|
-
- 36 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-one-time-code>` (OddkinOneTimeCode)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A one-time code (a verification code sent by text message or email) entered into `maxlength`
|
|
6
6
|
cells (default six). It is one native input with `autocomplete="one-time-code"` and a numeric
|
|
@@ -120,7 +120,3 @@ Explained mistakes (never use these as patterns):
|
|
|
120
120
|
- `contract:core/update-complete`
|
|
121
121
|
- `contract:core/scope`
|
|
122
122
|
- `contract:core/composition`
|
|
123
|
-
|
|
124
|
-
## Verified
|
|
125
|
-
|
|
126
|
-
- 76 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-pagination>` (OddkinPagination)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Navigation. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Page navigation: the position as text, previous and next, and the first, last, and nearby pages
|
|
6
6
|
with ellipses between. With `href`, pages are links; without it, buttons that report
|
|
@@ -85,7 +85,3 @@ Explained mistakes (never use these as patterns):
|
|
|
85
85
|
- `contract:core/update-complete`
|
|
86
86
|
- `contract:core/scope`
|
|
87
87
|
- `contract:core/composition`
|
|
88
|
-
|
|
89
|
-
## Verified
|
|
90
|
-
|
|
91
|
-
- 31 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-picker>` (OddkinPicker)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A field that opens a list or a hierarchy to choose from (APG select-only combobox): a popup
|
|
6
6
|
listbox of options, or, with `items`, a popup tree whose rows expand and collapse without
|
|
@@ -143,7 +143,3 @@ Explained mistakes (never use these as patterns):
|
|
|
143
143
|
- `contract:core/update-complete`
|
|
144
144
|
- `contract:core/scope`
|
|
145
145
|
- `contract:core/composition`
|
|
146
|
-
|
|
147
|
-
## Verified
|
|
148
|
-
|
|
149
|
-
- 101 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-popover>` (OddkinPopover)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Overlays. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A non-modal surface anchored to the control that opens it. The host is the popover
|
|
6
6
|
(`popover="auto"`), so `<button popovertarget="id">` opens and closes it with no script; it also
|
|
@@ -94,7 +94,3 @@ Explained mistakes (never use these as patterns):
|
|
|
94
94
|
- `contract:core/update-complete`
|
|
95
95
|
- `contract:core/scope`
|
|
96
96
|
- `contract:core/composition`
|
|
97
|
-
|
|
98
|
-
## Verified
|
|
99
|
-
|
|
100
|
-
- 41 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-progress>` (OddkinProgress)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Feedback. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Progress of a task. With a `value` it shows how much is done; without, it shows that work is
|
|
6
6
|
under way and never a percentage.
|
|
@@ -84,7 +84,3 @@ Explained mistakes (never use these as patterns):
|
|
|
84
84
|
- `contract:core/update-complete`
|
|
85
85
|
- `contract:core/scope`
|
|
86
86
|
- `contract:core/composition`
|
|
87
|
-
|
|
88
|
-
## Verified
|
|
89
|
-
|
|
90
|
-
- 28 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-radio-group>` (OddkinRadioGroup)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
One value from a short set of visible options, each a native radio with its label and
|
|
6
6
|
description. Options come from `<option>` and `<optgroup>` children, written as for a native
|
|
@@ -111,7 +111,3 @@ Explained mistakes (never use these as patterns):
|
|
|
111
111
|
- `contract:core/update-complete`
|
|
112
112
|
- `contract:core/scope`
|
|
113
113
|
- `contract:core/composition`
|
|
114
|
-
|
|
115
|
-
## Verified
|
|
116
|
-
|
|
117
|
-
- 53 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-rating>` (OddkinRating)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A score from one to `max` stars (default five), with the chosen value beside the stars ("3 of
|
|
6
6
|
5"): the radio-group behavior drawn as stars, each filled up to the chosen one. Without
|
|
@@ -113,7 +113,3 @@ Explained mistakes (never use these as patterns):
|
|
|
113
113
|
- `contract:core/update-complete`
|
|
114
114
|
- `contract:core/scope`
|
|
115
115
|
- `contract:core/composition`
|
|
116
|
-
|
|
117
|
-
## Verified
|
|
118
|
-
|
|
119
|
-
- 58 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-relative-time>` (OddkinRelativeTime)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Display. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A date and time said relative to now ("3 hours ago", "in 2 days", "now") in the page's language,
|
|
6
6
|
as a `<time>` that keeps the exact value; the absolute date and time is its tooltip, and with
|
|
@@ -74,7 +74,3 @@ Explained mistakes (never use these as patterns):
|
|
|
74
74
|
- `contract:core/update-complete`
|
|
75
75
|
- `contract:core/scope`
|
|
76
76
|
- `contract:core/composition`
|
|
77
|
-
|
|
78
|
-
## Verified
|
|
79
|
-
|
|
80
|
-
- 15 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-scroll-region>` (OddkinScrollRegion)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Layout. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Content that scrolls on its own inside a page, reachable and scrollable from the keyboard
|
|
6
6
|
(WCAG 2.1.1). Bound it with `block-size` or `max-block-size`; while its content overflows, the
|
|
@@ -75,7 +75,3 @@ Explained mistakes (never use these as patterns):
|
|
|
75
75
|
- `contract:core/update-complete`
|
|
76
76
|
- `contract:core/scope`
|
|
77
77
|
- `contract:core/composition`
|
|
78
|
-
|
|
79
|
-
## Verified
|
|
80
|
-
|
|
81
|
-
- 9 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-segmented-control>` (OddkinSegmentedControl)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
One value from a few short options, drawn as joined segments: the radio-group behavior with a
|
|
6
6
|
segmented look. Options come from `<option>` children or from `options`; an option with an
|
|
@@ -108,7 +108,3 @@ Explained mistakes (never use these as patterns):
|
|
|
108
108
|
- `contract:core/update-complete`
|
|
109
109
|
- `contract:core/scope`
|
|
110
110
|
- `contract:core/composition`
|
|
111
|
-
|
|
112
|
-
## Verified
|
|
113
|
-
|
|
114
|
-
- 51 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-select>` (OddkinSelect)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A compact choice of one option in a form: a styled native `<select>`, so the engine's own picker,
|
|
6
6
|
keyboard, and assistive-technology support come with it. Options come from `<option>` and
|
|
@@ -116,7 +116,3 @@ Explained mistakes (never use these as patterns):
|
|
|
116
116
|
- `contract:core/update-complete`
|
|
117
117
|
- `contract:core/scope`
|
|
118
118
|
- `contract:core/composition`
|
|
119
|
-
|
|
120
|
-
## Verified
|
|
121
|
-
|
|
122
|
-
- 50 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-side-nav>` (OddkinSideNav)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Navigation. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Side navigation: links, actions, and expandable groups from `.items` (or native links in the
|
|
6
6
|
default slot), arranged by the `side-nav` layout recipe, which responds to the element's own
|
|
@@ -93,7 +93,3 @@ Explained mistakes (never use these as patterns):
|
|
|
93
93
|
- `contract:core/update-complete`
|
|
94
94
|
- `contract:core/scope`
|
|
95
95
|
- `contract:core/composition`
|
|
96
|
-
|
|
97
|
-
## Verified
|
|
98
|
-
|
|
99
|
-
- 31 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-skeleton>` (OddkinSkeleton)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Feedback. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A content-shaped placeholder while a region loads. Hidden from assistive technology: mark the
|
|
6
6
|
loading region with `aria-busy="true"` and replace the placeholders when the content arrives.
|
|
@@ -72,7 +72,3 @@ Explained mistakes (never use these as patterns):
|
|
|
72
72
|
- `contract:core/update-complete`
|
|
73
73
|
- `contract:core/scope`
|
|
74
74
|
- `contract:core/composition`
|
|
75
|
-
|
|
76
|
-
## Verified
|
|
77
|
-
|
|
78
|
-
- 13 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-slider>` (OddkinSlider)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A number from a bounded range, chosen by dragging a thumb along a track or with the keys, with
|
|
6
6
|
the current value and both endpoints shown. Drawn as an ARIA slider rather than a native
|
|
@@ -112,7 +112,3 @@ None.
|
|
|
112
112
|
- `contract:core/update-complete`
|
|
113
113
|
- `contract:core/scope`
|
|
114
114
|
- `contract:core/composition`
|
|
115
|
-
|
|
116
|
-
## Verified
|
|
117
|
-
|
|
118
|
-
- 63 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-spinner>` (OddkinSpinner)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Feedback. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
An indeterminate busy indicator with a status label. It never shows a percentage; when the
|
|
6
6
|
amount of work is known, use `odd-progress`.
|
|
@@ -76,7 +76,3 @@ Explained mistakes (never use these as patterns):
|
|
|
76
76
|
- `contract:core/update-complete`
|
|
77
77
|
- `contract:core/scope`
|
|
78
78
|
- `contract:core/composition`
|
|
79
|
-
|
|
80
|
-
## Verified
|
|
81
|
-
|
|
82
|
-
- 15 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-split-button>` (OddkinSplitButton)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Actions. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A primary action with a menu of related actions beside it: two independent targets in one
|
|
6
6
|
element, a primary button and a menu button (odd-menu, whose parts it forwards). Menu items come from `<option value>`
|
|
@@ -90,7 +90,3 @@ Explained mistakes (never use these as patterns):
|
|
|
90
90
|
- `contract:core/update-complete`
|
|
91
91
|
- `contract:core/scope`
|
|
92
92
|
- `contract:core/composition`
|
|
93
|
-
|
|
94
|
-
## Verified
|
|
95
|
-
|
|
96
|
-
- 39 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-split-panel>` (OddkinSplitPanel)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Layout. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Two panes side by side or stacked, with a separator the user drags or moves with the keyboard
|
|
6
6
|
(APG window splitter). Nest split panels for more panes.
|
|
@@ -87,7 +87,3 @@ Explained mistakes (never use these as patterns):
|
|
|
87
87
|
- `contract:core/update-complete`
|
|
88
88
|
- `contract:core/scope`
|
|
89
89
|
- `contract:core/composition`
|
|
90
|
-
|
|
91
|
-
## Verified
|
|
92
|
-
|
|
93
|
-
- 42 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-stat>` (OddkinStat)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Display. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
One metric: its `label`, its `value`, and the context in the default slot ("+8.2% this month").
|
|
6
6
|
`trend` adds an arrow for the direction of change, without saying whether it is good: the
|
|
@@ -82,7 +82,3 @@ Explained mistakes (never use these as patterns):
|
|
|
82
82
|
- `contract:core/update-complete`
|
|
83
83
|
- `contract:core/scope`
|
|
84
84
|
- `contract:core/composition`
|
|
85
|
-
|
|
86
|
-
## Verified
|
|
87
|
-
|
|
88
|
-
- 28 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-status-marker>` (OddkinStatusMarker)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Display. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
The status marker of a timeline event or a step (Figma's Event marker and Step status): a circle
|
|
6
6
|
with the built-in glyph for `status`, or its own content (a step number) while idle. Decorative:
|
|
@@ -76,7 +76,3 @@ Explained mistakes (never use these as patterns):
|
|
|
76
76
|
- `contract:core/update-complete`
|
|
77
77
|
- `contract:core/scope`
|
|
78
78
|
- `contract:core/composition`
|
|
79
|
-
|
|
80
|
-
## Verified
|
|
81
|
-
|
|
82
|
-
- 8 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-switch>` (OddkinSwitch)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
An on/off setting that participates in forms like a checkbox: a native checkbox with
|
|
6
6
|
`role="switch"` in the shadow root, drawn as a track and thumb, labelled by the slotted text.
|
|
@@ -108,7 +108,3 @@ Explained mistakes (never use these as patterns):
|
|
|
108
108
|
- `contract:core/update-complete`
|
|
109
109
|
- `contract:core/scope`
|
|
110
110
|
- `contract:core/composition`
|
|
111
|
-
|
|
112
|
-
## Verified
|
|
113
|
-
|
|
114
|
-
- 49 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-tab-panel>` (OddkinTabPanel)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Navigation. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
One panel of `odd-tabs`: its tab's text, its value, and the content shown while its tab is
|
|
6
6
|
selected. `odd-tabs` assigns it to a tab panel inside its own shadow root, so the tab and the
|
|
@@ -64,7 +64,3 @@ None.
|
|
|
64
64
|
- `contract:core/update-complete`
|
|
65
65
|
- `contract:core/scope`
|
|
66
66
|
- `contract:core/composition`
|
|
67
|
-
|
|
68
|
-
## Verified
|
|
69
|
-
|
|
70
|
-
- 17 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-tabs>` (OddkinTabs)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Navigation. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Tabs that switch between related panels (APG tabs). Panels are `odd-tab-panel` children; the
|
|
6
6
|
element draws a tab for each and assigns each panel to a tab panel inside its own shadow root
|
|
@@ -87,7 +87,3 @@ Explained mistakes (never use these as patterns):
|
|
|
87
87
|
- `contract:core/update-complete`
|
|
88
88
|
- `contract:core/scope`
|
|
89
89
|
- `contract:core/composition`
|
|
90
|
-
|
|
91
|
-
## Verified
|
|
92
|
-
|
|
93
|
-
- 30 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-textarea>` (OddkinTextarea)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A labelled multi-line text field that participates in forms like a native textarea, with a
|
|
6
6
|
character count while `maxlength` is set.
|
|
@@ -124,7 +124,3 @@ Explained mistakes (never use these as patterns):
|
|
|
124
124
|
- `contract:core/update-complete`
|
|
125
125
|
- `contract:core/scope`
|
|
126
126
|
- `contract:core/composition`
|
|
127
|
-
|
|
128
|
-
## Verified
|
|
129
|
-
|
|
130
|
-
- 80 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-toast>` (OddkinToast)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Overlays. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A short message about something that just happened, at the block-end and inline-end corner of
|
|
6
6
|
the viewport: a tone glyph, a title, the message, an optional action, and a close button. It
|
|
@@ -91,7 +91,3 @@ Explained mistakes (never use these as patterns):
|
|
|
91
91
|
- `contract:core/update-complete`
|
|
92
92
|
- `contract:core/scope`
|
|
93
93
|
- `contract:core/composition`
|
|
94
|
-
|
|
95
|
-
## Verified
|
|
96
|
-
|
|
97
|
-
- 28 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-toolbar>` (OddkinToolbar)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Actions. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A named group of controls with one Tab stop (APG toolbar): arrow keys move focus among the
|
|
6
6
|
slotted controls, which stay the author's own elements. An `<hr>` child is drawn as a separator.
|
|
@@ -75,7 +75,3 @@ Explained mistakes (never use these as patterns):
|
|
|
75
75
|
- `contract:core/update-complete`
|
|
76
76
|
- `contract:core/scope`
|
|
77
77
|
- `contract:core/composition`
|
|
78
|
-
|
|
79
|
-
## Verified
|
|
80
|
-
|
|
81
|
-
- 13 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-tooltip>` (OddkinTooltip)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Overlays. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A short description of the control it is anchored to, shown while the pointer rests on the
|
|
6
6
|
control or the control has focus. It stays while the pointer is over the control or the tooltip,
|
|
@@ -84,7 +84,3 @@ Explained mistakes (never use these as patterns):
|
|
|
84
84
|
- `contract:core/update-complete`
|
|
85
85
|
- `contract:core/scope`
|
|
86
86
|
- `contract:core/composition`
|
|
87
|
-
|
|
88
|
-
## Verified
|
|
89
|
-
|
|
90
|
-
- 24 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-tree>` (OddkinTree)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Collections. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
A hierarchy the user browses and selects in (APG tree view): rows of items that expand and
|
|
6
6
|
collapse, from `items`. Items holding a selected item start expanded. Children of a `lazy` item
|
|
@@ -93,7 +93,3 @@ Explained mistakes (never use these as patterns):
|
|
|
93
93
|
- `contract:core/update-complete`
|
|
94
94
|
- `contract:core/scope`
|
|
95
95
|
- `contract:core/composition`
|
|
96
|
-
|
|
97
|
-
## Verified
|
|
98
|
-
|
|
99
|
-
- 38 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# `<odd-validation-summary>` (OddkinValidationSummary)
|
|
2
2
|
|
|
3
|
-
Package `@oddkin/components` 1.0.0-beta.
|
|
3
|
+
Package `@oddkin/components` 1.0.0-beta.1 · category Forms. Generated from `custom-elements.json` and `oddkin.metadata.json`; facts are extracted unless marked authored or verified.
|
|
4
4
|
|
|
5
5
|
Lists a form's problems after a submission that validation blocked: a heading with the count,
|
|
6
6
|
then each invalid control's label and message as a link that moves focus to the control. It
|
|
@@ -78,7 +78,3 @@ Explained mistakes (never use these as patterns):
|
|
|
78
78
|
- `contract:core/update-complete`
|
|
79
79
|
- `contract:core/scope`
|
|
80
80
|
- `contract:core/composition`
|
|
81
|
-
|
|
82
|
-
## Verified
|
|
83
|
-
|
|
84
|
-
- 17 facts verified by `oddkin.cem-contract@1.0.0` in chromium 156.0.8078.4, firefox 157.0, webkit 27.2 (packages/components/test/contract.browser.test.ts, 2026-10-28)
|
|
@@ -8,6 +8,43 @@ An interface described as data: published Oddkin elements and native text elemen
|
|
|
8
8
|
- `validateComposition(document: unknown, options?: { readonly limits?: CompositionLimits; }): CompositionValidation`: Check a composition document; `ok` is false when any diagnostic is an error.
|
|
9
9
|
- `renderComposition(document: unknown, target: ParentNode, options: RenderCompositionOptions): RenderedComposition`: Validate `document`, then append it to `target`; refuse it whole if any check fails.
|
|
10
10
|
|
|
11
|
+
## Types
|
|
12
|
+
|
|
13
|
+
- `CompositionElement`: One element of a composition; text is a plain string.
|
|
14
|
+
- `element: string`
|
|
15
|
+
- `id?: string`: The element's `id`, unique in the document.
|
|
16
|
+
- `slot?: string`: A published slot of the parent element; the default slot when absent.
|
|
17
|
+
- `attributes?: Readonly<Record<string, JsonValue>>`
|
|
18
|
+
- `properties?: Readonly<Record<string, JsonValue>>`
|
|
19
|
+
- `children?: readonly CompositionNode[]`
|
|
20
|
+
- `actions?: Readonly<Record<string, string>>`: Published event names mapped to action names the host handles.
|
|
21
|
+
- `CompositionNode = string | CompositionElement`
|
|
22
|
+
- `CompositionDocument`
|
|
23
|
+
- `$schema?: string`
|
|
24
|
+
- `version: typeof COMPOSITION_VERSION`
|
|
25
|
+
- `root: readonly CompositionNode[]`
|
|
26
|
+
- `CompositionDiagnostic = ModelDiagnostic`
|
|
27
|
+
- `CompositionLimits`
|
|
28
|
+
- `depth?: number`: Deepest element nesting (default 16).
|
|
29
|
+
- `nodes?: number`: Most nodes, text included (default 500).
|
|
30
|
+
- `CompositionValidation`
|
|
31
|
+
- `ok: boolean`
|
|
32
|
+
- `diagnostics: readonly CompositionDiagnostic[]`
|
|
33
|
+
- `CompositionAction`: An event of a rendered element, mapped to an action name by the composition.
|
|
34
|
+
- `action: string`
|
|
35
|
+
- `event: Event`
|
|
36
|
+
- `element: Element`
|
|
37
|
+
- `id: string | undefined`: The element's composition `id`, if it has one.
|
|
38
|
+
- `RenderCompositionOptions`
|
|
39
|
+
- `allow: readonly string[]`: Every tag the renderer may create, natives included; anything else is refused.
|
|
40
|
+
- `onAction?: (action: CompositionAction) => void`: Called for each mapped event; the composition never carries a handler.
|
|
41
|
+
- `limits?: CompositionLimits`
|
|
42
|
+
- `RenderedComposition`
|
|
43
|
+
- `ok: boolean`: False when the document was refused; nothing was rendered then.
|
|
44
|
+
- `diagnostics: readonly CompositionDiagnostic[]`
|
|
45
|
+
- `nodes: readonly Node[]`: The top-level nodes appended to the target.
|
|
46
|
+
- `dispose(): void`: Removes the nodes and their action listeners.
|
|
47
|
+
|
|
11
48
|
## Document
|
|
12
49
|
|
|
13
50
|
- Schema: `@oddkin/components/schemas/composition/composition.v1.json` (`https://oddkin.dev/schemas/composition/composition.v1.json`). Required: `version`, `root`; `version` is `1`.
|
|
@@ -19,6 +56,8 @@ An interface described as data: published Oddkin elements and native text elemen
|
|
|
19
56
|
|
|
20
57
|
54 files in `@oddkin/components/schemas/composition/`: `odd-alert`, `odd-avatar`, `odd-badge`, `odd-breadcrumbs`, `odd-button`, `odd-calendar`, `odd-card`, `odd-carousel`, `odd-checkbox-group`, `odd-checkbox`, `odd-chip`, `odd-color-picker`, `odd-combobox`, `odd-command-palette`, `odd-container`, `odd-copy-button`, `odd-date-picker`, `odd-dialog`, `odd-disclosure`, `odd-drawer`, `odd-empty-state`, `odd-file-input`, `odd-icon`, `odd-input`, `odd-listbox`, `odd-menu`, `odd-one-time-code`, `odd-pagination`, `odd-picker`, `odd-popover`, `odd-progress`, `odd-radio-group`, `odd-rating`, `odd-relative-time`, `odd-scroll-region`, `odd-segmented-control`, `odd-select`, `odd-side-nav`, `odd-skeleton`, `odd-slider`, `odd-spinner`, `odd-split-button`, `odd-split-panel`, `odd-stat`, `odd-status-marker`, `odd-switch`, `odd-tab-panel`, `odd-tabs`, `odd-textarea`, `odd-toast`, `odd-toolbar`, `odd-tooltip`, `odd-tree`, `odd-validation-summary`. Each lists the element's attributes with their types, its slots, and its actions.
|
|
21
58
|
|
|
59
|
+
A document sets only what an element's schema lists. A property the schema leaves out (it holds code, an element, or data the host owns) is the host's to set after rendering, and `validateComposition` reports it as `composition.property.notPortable`. Read an element's schema before writing it.
|
|
60
|
+
|
|
22
61
|
## Example (validated when this kit was generated)
|
|
23
62
|
|
|
24
63
|
```json
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Recipe file-input
|
|
2
|
+
|
|
3
|
+
Id `recipe:file-input`.
|
|
4
|
+
|
|
5
|
+
| Region | Helper |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
| `surface` | stack |
|
|
8
|
+
| `header` | row |
|
|
9
|
+
| `file` | row |
|
|
10
|
+
| `files` | stack |
|
|
11
|
+
| `file-text` | stack |
|
|
12
|
+
|
|
13
|
+
Layers: recipe.base → recipe.variant → recipe.condition.
|