bestax-mcp 0.0.0
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 +90 -0
- package/data/catalog.json +1869 -0
- package/data/components/Autocomplete.json +604 -0
- package/data/components/Avatar.json +220 -0
- package/data/components/Avatars.json +294 -0
- package/data/components/Badge.json +261 -0
- package/data/components/Block.json +105 -0
- package/data/components/Box.json +157 -0
- package/data/components/Breadcrumb.json +155 -0
- package/data/components/Button.json +599 -0
- package/data/components/Buttons.json +533 -0
- package/data/components/Card.json +506 -0
- package/data/components/Carousel.json +512 -0
- package/data/components/Cell.json +154 -0
- package/data/components/Checkbox.json +176 -0
- package/data/components/Checkboxes.json +240 -0
- package/data/components/Code.json +128 -0
- package/data/components/Collapse.json +218 -0
- package/data/components/Column.json +284 -0
- package/data/components/Columns.json +542 -0
- package/data/components/ConfigProvider.json +16 -0
- package/data/components/Container.json +149 -0
- package/data/components/Content.json +228 -0
- package/data/components/Control.json +484 -0
- package/data/components/DateInput.json +872 -0
- package/data/components/DateTimeInput.json +952 -0
- package/data/components/Delete.json +153 -0
- package/data/components/Dialog.json +285 -0
- package/data/components/Divider.json +68 -0
- package/data/components/Dropdown.json +353 -0
- package/data/components/Emphasis.json +99 -0
- package/data/components/Field.json +539 -0
- package/data/components/Figure.json +143 -0
- package/data/components/File.json +403 -0
- package/data/components/Footer.json +109 -0
- package/data/components/Grid.json +357 -0
- package/data/components/Hero.json +340 -0
- package/data/components/Icon.json +232 -0
- package/data/components/IconText.json +307 -0
- package/data/components/Image.json +166 -0
- package/data/components/Input.json +583 -0
- package/data/components/Level.json +332 -0
- package/data/components/Link.json +154 -0
- package/data/components/LinkButton.json +247 -0
- package/data/components/ListItem.json +101 -0
- package/data/components/Loading.json +323 -0
- package/data/components/Media.json +345 -0
- package/data/components/Menu.json +317 -0
- package/data/components/Message.json +303 -0
- package/data/components/Modal.json +444 -0
- package/data/components/Navbar.json +996 -0
- package/data/components/Notification.json +165 -0
- package/data/components/Numberinput.json +364 -0
- package/data/components/OrderedList.json +189 -0
- package/data/components/Pagination.json +619 -0
- package/data/components/Panel.json +582 -0
- package/data/components/Paragraph.json +107 -0
- package/data/components/Pre.json +114 -0
- package/data/components/Progress.json +137 -0
- package/data/components/Radio.json +164 -0
- package/data/components/Radios.json +240 -0
- package/data/components/Rate.json +466 -0
- package/data/components/Reveal.json +177 -0
- package/data/components/Section.json +123 -0
- package/data/components/Select.json +526 -0
- package/data/components/Sidebar.json +488 -0
- package/data/components/Skeleton.json +162 -0
- package/data/components/Slider.json +534 -0
- package/data/components/Span.json +100 -0
- package/data/components/Steps.json +452 -0
- package/data/components/Strong.json +105 -0
- package/data/components/SubTitle.json +233 -0
- package/data/components/Switch.json +291 -0
- package/data/components/Table.json +490 -0
- package/data/components/Tabs.json +592 -0
- package/data/components/Tag.json +197 -0
- package/data/components/Taginput.json +587 -0
- package/data/components/Tags.json +181 -0
- package/data/components/TextArea.json +483 -0
- package/data/components/Theme.json +65 -0
- package/data/components/TimeInput.json +906 -0
- package/data/components/Title.json +240 -0
- package/data/components/Toast.json +308 -0
- package/data/components/Tooltip.json +212 -0
- package/data/components/UnorderedList.json +149 -0
- package/data/components/Valid value constants.json +16 -0
- package/data/components/classNames.json +65 -0
- package/data/components/useBulmaClasses.json +169 -0
- package/data/components/usePrefixedClassNames.json +25 -0
- package/data/skills/bestax-custom-component/SKILL.md +196 -0
- package/data/skills/bestax-custom-component/examples/stat-card.tsx +105 -0
- package/data/skills/bestax-custom-component/references/api.md +90 -0
- package/data/skills/bestax-custom-component/references/component-catalog.md +149 -0
- package/data/skills/bestax-custom-component/references/library-contributor.md +395 -0
- package/data/skills/bestax-custom-component/references/patterns.md +136 -0
- package/data/skills/bestax-form/SKILL.md +254 -0
- package/data/skills/bestax-form/references/api.md +103 -0
- package/data/skills/bestax-form/references/patterns.md +210 -0
- package/data/skills/bestax-icons/SKILL.md +80 -0
- package/data/skills/bestax-icons/examples/icon-usage.tsx +80 -0
- package/data/skills/bestax-icons/references/icon-libraries.md +131 -0
- package/data/skills/bestax-layout-scaffold/SKILL.md +196 -0
- package/data/skills/bestax-layout-scaffold/examples/app-shell.tsx +86 -0
- package/data/skills/bestax-layout-scaffold/examples/card-grid.tsx +106 -0
- package/data/skills/bestax-layout-scaffold/examples/centered.tsx +56 -0
- package/data/skills/bestax-layout-scaffold/examples/content-page.tsx +90 -0
- package/data/skills/bestax-layout-scaffold/examples/landing.tsx +122 -0
- package/data/skills/bestax-layout-scaffold/references/archetypes.md +246 -0
- package/data/skills/bestax-layout-scaffold/references/layout-components.md +269 -0
- package/data/skills/bestax-migrate/SKILL.md +78 -0
- package/data/skills/bestax-migrate/references/component-map.md +91 -0
- package/data/skills/bestax-migrate/references/css-migration.md +100 -0
- package/data/skills/bestax-migrate/references/prop-map.md +48 -0
- package/data/skills/bestax-migrate/references/unmappables.md +124 -0
- package/data/skills/bestax-optimize/SKILL.md +131 -0
- package/data/skills/bestax-optimize/references/modular-build.md +173 -0
- package/data/skills/bestax-theming/SKILL.md +117 -0
- package/data/skills/bestax-theming/examples/dark-mode.tsx +38 -0
- package/data/skills/bestax-theming/examples/theme-config.tsx +60 -0
- package/data/skills/bestax-theming/references/css-variables.md +466 -0
- package/data/skills/bestax-theming/references/themeable-components.md +119 -0
- package/data/skills.json +148 -0
- package/dist/data.d.ts +131 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +111 -0
- package/dist/format.d.ts +37 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +178 -0
- package/dist/helper-props.d.ts +57 -0
- package/dist/helper-props.d.ts.map +1 -0
- package/dist/helper-props.js +249 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/search.d.ts +32 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +194 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +616 -0
- package/dist/version.d.ts +29 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +147 -0
- package/package.json +70 -0
|
@@ -0,0 +1,952 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "DateTimeInput",
|
|
3
|
+
"kind": "component",
|
|
4
|
+
"category": "form",
|
|
5
|
+
"slug": "form/datetime/datetimeinput",
|
|
6
|
+
"docsUrl": "https://bestax.io/docs/api/form/datetime/datetimeinput",
|
|
7
|
+
"examples": [
|
|
8
|
+
{
|
|
9
|
+
"title": "Basic DateTimeInput",
|
|
10
|
+
"code": "<DateTimeInput label=\"Appointment\" placeholder=\"YYYY-MM-DD HH:MM\" />"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Basic DateTimeInput",
|
|
14
|
+
"code": "<DateTimeInput\n label=\"Appointment\"\n placeholder=\"YYYY-MM-DD HH:MM\"\n openOnFocus={false}\n/>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Controlled",
|
|
18
|
+
"code": "function example() {\n const [v, setV] = useState(new Date());\n return (\n <Block>\n <DateTimeInput label=\"Meeting\" value={v} onChange={setV} />\n <Paragraph mt=\"2\">Selected: {v ? v.toString() : '—'}</Paragraph>\n </Block>\n );\n}"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Controlled",
|
|
22
|
+
"code": "function example() {\n const [v, setV] = useState(new Date());\n return (\n <Block>\n <DateTimeInput\n label=\"Meeting\"\n value={v}\n onChange={setV}\n openOnFocus={false}\n />\n <Paragraph mt=\"2\">Selected: {v ? v.toString() : '—'}</Paragraph>\n </Block>\n );\n}"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"title": "12-hour Format",
|
|
26
|
+
"code": "<DateTimeInput\n label=\"12-hour\"\n hourFormat=\"12\"\n defaultValue={new Date()}\n mobileNative={false}\n/>"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"title": "12-hour Format",
|
|
30
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"12-hour entry\"\n hourFormat=\"12\"\n defaultValue={new Date(2024, 5, 7, 13, 45)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "With Seconds",
|
|
34
|
+
"code": "<DateTimeInput\n label=\"With seconds\"\n enableSeconds\n defaultValue={new Date()}\n mobileNative={false}\n/>"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"title": "With Seconds",
|
|
38
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"With a seconds segment\"\n enableSeconds\n defaultValue={new Date(2024, 5, 7, 13, 45, 30)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"title": "12-hour with Seconds",
|
|
42
|
+
"code": "<DateTimeInput\n label=\"12-hour with seconds\"\n hourFormat=\"12\"\n enableSeconds\n defaultValue={new Date()}\n mobileNative={false}\n/>"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"title": "12-hour with Seconds",
|
|
46
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"12-hour with seconds and AM/PM\"\n hourFormat=\"12\"\n enableSeconds\n defaultValue={new Date(2024, 5, 7, 13, 45, 30)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"title": "Formats",
|
|
50
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput\n label=\"YYYY-MM-DD HH:mm (default)\"\n defaultValue={new Date(2026, 4, 30, 13, 45)}\n mobileNative={false}\n />\n <DateTimeInput\n label=\"MM/DD/YYYY hh:mm A\"\n format=\"MM/DD/YYYY hh:mm A\"\n defaultValue={new Date(2026, 4, 30, 13, 45)}\n mobileNative={false}\n />\n <DateTimeInput\n label=\"DD.MM.YYYY HH:mm\"\n format=\"DD.MM.YYYY HH:mm\"\n defaultValue={new Date(2026, 4, 30, 13, 45)}\n mobileNative={false}\n />\n <DateTimeInput\n label=\"Intl — display only\"\n format={{ dateStyle: 'medium', timeStyle: 'short' }}\n editable={false}\n defaultValue={new Date(2026, 4, 30, 13, 45)}\n mobileNative={false}\n />\n</Block>"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"title": "Formats",
|
|
54
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"DD.MM.YYYY HH:mm with dot separators\"\n format=\"DD.MM.YYYY HH:mm\"\n defaultValue={new Date(2024, 5, 7, 13, 45)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"title": "Launcher Icon",
|
|
58
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput label=\"Default (left icon + right launcher)\" />\n <DateTimeInput\n label=\"Custom launcher glyph\"\n triggerIconName=\"calendar-check\"\n />\n <DateTimeInput label=\"No launcher\" triggerIcon={false} />\n <DateTimeInput label=\"Left icon hidden\" iconLeftName=\"\" />\n</Block>"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Launcher Icon",
|
|
62
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput\n label=\"Default (left icon + right launcher)\"\n openOnFocus={false}\n />\n <DateTimeInput\n label=\"Custom launcher glyph\"\n triggerIconName=\"calendar-check\"\n openOnFocus={false}\n />\n <DateTimeInput\n label=\"No launcher (popover via ↓ only)\"\n triggerIcon={false}\n openOnFocus={false}\n />\n <DateTimeInput label=\"Left icon hidden\" iconLeftName=\"\" openOnFocus={false} />\n</Block>"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"title": "Min and Max",
|
|
66
|
+
"code": "function example() {\n const today = new Date();\n const min = new Date(today);\n min.setHours(9, 0, 0, 0);\n const max = new Date(today);\n max.setHours(17, 0, 0, 0);\n return <DateTimeInput label=\"Office hours today\" min={min} max={max} />;\n}"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"title": "Min and Max",
|
|
70
|
+
"code": "function example() {\n const now = new Date();\n const min = new Date(now);\n min.setHours(9, 0, 0, 0);\n const max = new Date(now);\n max.setHours(17, 0, 0, 0);\n const noon = new Date(now);\n noon.setHours(12, 0, 0, 0);\n return (\n <DateTimeInput\n label=\"Office hours today only — typed entry too\"\n min={min}\n max={max}\n defaultValue={noon}\n openOnFocus={false}\n />\n );\n}"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"title": "Disabled Dates",
|
|
74
|
+
"code": "<DateTimeInput\n label=\"No weekend appointments\"\n shouldDisableDate={d => d.getDay() === 0 || d.getDay() === 6}\n mobileNative={false}\n/>"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"title": "Disabled Dates",
|
|
78
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"Weekends rejected while typing\"\n shouldDisableDate={d => d.getDay() === 0 || d.getDay() === 6}\n defaultValue={new Date(2024, 5, 7, 13, 45)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"title": "Unselectable Times",
|
|
82
|
+
"code": "<DateTimeInput\n label=\"Lunch hour blocked\"\n unselectableTimes={d => d.getHours() === 12}\n defaultValue={new Date()}\n mobileNative={false}\n/>"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"title": "Unselectable Times",
|
|
86
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"Lunch hour rejected while typing\"\n unselectableTimes={d => d.getHours() === 12}\n defaultValue={new Date(2024, 5, 7, 11, 30)}\n mobileNative={false}\n openOnFocus={false}\n />\n );\n}"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"title": "Inline",
|
|
90
|
+
"code": "<DateTimeInput label=\"Inline\" inline defaultValue={new Date()} />"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"title": "First Day of Week",
|
|
94
|
+
"code": "<DateTimeInput\n label=\"Monday-first\"\n firstDayOfWeek={1}\n defaultValue={new Date()}\n mobileNative={false}\n/>"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"title": "First Day of Week",
|
|
98
|
+
"code": "<DateTimeInput\n label=\"Monday-first\"\n firstDayOfWeek={1}\n defaultValue={new Date()}\n mobileNative={false}\n openOnFocus={false}\n/>"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"title": "Mobile Native",
|
|
102
|
+
"code": "<DateTimeInput label=\"Native datetime-local\" mobileNative={true} />"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"title": "Locale",
|
|
106
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput\n label=\"ja-JP\"\n locale=\"ja-JP\"\n defaultValue={new Date()}\n mobileNative={false}\n />\n <DateTimeInput\n label=\"fr-FR\"\n locale=\"fr-FR\"\n defaultValue={new Date()}\n mobileNative={false}\n />\n</Block>"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"title": "Locale",
|
|
110
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput\n label=\"ja-JP\"\n locale=\"ja-JP\"\n defaultValue={new Date()}\n mobileNative={false}\n openOnFocus={false}\n />\n <DateTimeInput\n label=\"fr-FR\"\n locale=\"fr-FR\"\n defaultValue={new Date()}\n mobileNative={false}\n openOnFocus={false}\n />\n</Block>"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"title": "Sizes",
|
|
114
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput label=\"Small\" controlSize=\"small\" size=\"small\" />\n <DateTimeInput label=\"Default\" />\n <DateTimeInput label=\"Medium\" controlSize=\"medium\" size=\"medium\" />\n <DateTimeInput label=\"Large\" controlSize=\"large\" size=\"large\" />\n</Block>"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"title": "Sizes",
|
|
118
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput\n label=\"Small\"\n controlSize=\"small\"\n size=\"small\"\n openOnFocus={false}\n />\n <DateTimeInput label=\"Default\" openOnFocus={false} />\n <DateTimeInput\n label=\"Medium\"\n controlSize=\"medium\"\n size=\"medium\"\n openOnFocus={false}\n />\n <DateTimeInput\n label=\"Large\"\n controlSize=\"large\"\n size=\"large\"\n openOnFocus={false}\n />\n</Block>"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"title": "Colors",
|
|
122
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput label=\"Primary\" color=\"primary\" />\n <DateTimeInput label=\"Info\" color=\"info\" />\n <DateTimeInput label=\"Success\" color=\"success\" />\n <DateTimeInput label=\"Warning\" color=\"warning\" />\n <DateTimeInput label=\"Danger\" color=\"danger\" />\n</Block>"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"title": "Colors",
|
|
126
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput label=\"Primary\" color=\"primary\" openOnFocus={false} />\n <DateTimeInput label=\"Info\" color=\"info\" openOnFocus={false} />\n <DateTimeInput label=\"Success\" color=\"success\" openOnFocus={false} />\n <DateTimeInput label=\"Warning\" color=\"warning\" openOnFocus={false} />\n <DateTimeInput label=\"Danger\" color=\"danger\" openOnFocus={false} />\n</Block>"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"title": "States",
|
|
130
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <DateTimeInput label=\"Disabled\" disabled />\n <DateTimeInput label=\"Read only\" readOnly defaultValue={new Date()} />\n <DateTimeInput label=\"Loading\" isLoading />\n</Block>"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"title": "Context-Aware Rendering",
|
|
134
|
+
"code": "<DateTimeInput label=\"When\" placeholder=\"YYYY-MM-DD HH:MM\" />"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"title": "Context-Aware Rendering",
|
|
138
|
+
"code": "function example() {\n return (\n <Field horizontal label=\"When\">\n <Field.Body>\n <Field>\n <DateTimeInput placeholder=\"YYYY-MM-DD HH:MM\" />\n </Field>\n </Field.Body>\n </Field>\n );\n}"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"title": "Context-Aware Rendering",
|
|
142
|
+
"code": "function example() {\n return (\n <Field horizontal label=\"When\">\n <Field.Body>\n <Field>\n <Control iconLeftName=\"calendar-alt\">\n <DateTimeInput placeholder=\"YYYY-MM-DD HH:MM\" />\n </Control>\n </Field>\n </Field.Body>\n </Field>\n );\n}"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"title": "Manual Keyboard Entry",
|
|
146
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"Type across date and time\"\n defaultValue={new Date(2024, 5, 7, 13, 45)}\n openOnFocus={false}\n />\n );\n}"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"title": "Manual Keyboard Entry",
|
|
150
|
+
"code": "function example() {\n const [v, setV] = useState(() => new Date(2024, 5, 7, 13, 45));\n return (\n <Block>\n <DateTimeInput\n label=\"Arrow or type — value updates live\"\n value={v}\n onChange={setV}\n openOnFocus={false}\n />\n <Paragraph mt=\"2\">Selected: {v ? v.toString() : '—'}</Paragraph>\n </Block>\n );\n}"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"title": "Manual Keyboard Entry",
|
|
154
|
+
"code": "function example() {\n return (\n <DateTimeInput\n label=\"Free-form (Intl format)\"\n format={{ dateStyle: 'medium', timeStyle: 'short' }}\n defaultValue={new Date(2024, 5, 7, 13, 45)}\n openOnFocus={false}\n />\n );\n}"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"title": "Picker vs Input Modes",
|
|
158
|
+
"code": "<DateTimeInput label=\"Picker only\" editable={false} defaultValue={new Date()} />"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"title": "Picker vs Input Modes",
|
|
162
|
+
"code": "<DateTimeInput label=\"Input only\" popover={false} defaultValue={new Date()} />"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"accessibility": "- Trigger uses `role=\"combobox\"` with `aria-haspopup=\"dialog\"`, `aria-expanded`, and `aria-controls`.\n- Popover panel has `role=\"dialog\"` with an accessible name.\n- Calendar uses `role=\"grid\"`; cells expose `aria-selected`, `aria-disabled`, and `aria-current=\"date\"`.\n- Each time wheel uses `role=\"spinbutton\"` with `aria-valuemin`, `aria-valuemax`, `aria-valuenow`, and `aria-valuetext`.\n- The footer's confirm button exposes an accessible label (`Done`); the Reset button reverts your edits to the value the popover opened with.\n- Tab order naturally walks from calendar → time wheels → footer (Reset / ✓).",
|
|
166
|
+
"related": ["DateInput", "Input", "TimeInput"],
|
|
167
|
+
"storybook": "https://bestax.io/storybook/?path=/story/form-datetimeinput",
|
|
168
|
+
"summary": "The `DateTimeInput` combines a calendar and a time **wheel spinner** in a single popover — an iOS-style layout.",
|
|
169
|
+
"import": "import { DateTimeInput } from '@allxsmith/bestax-bulma';",
|
|
170
|
+
"sourceFile": "bulma-ui/src/form/DateTimeInput.tsx",
|
|
171
|
+
"rootClass": "input",
|
|
172
|
+
"parts": [
|
|
173
|
+
{
|
|
174
|
+
"path": "DateTimeInput",
|
|
175
|
+
"summary": "The `DateTimeInput` combines a calendar and a time **wheel spinner** in a single popover — an iOS-style layout.",
|
|
176
|
+
"component": null,
|
|
177
|
+
"props": [
|
|
178
|
+
{
|
|
179
|
+
"name": "label",
|
|
180
|
+
"type": "React.ReactNode",
|
|
181
|
+
"default": null,
|
|
182
|
+
"description": "Field label. Automatically associated with the input via `htmlFor` — uses your `id` when provided, otherwise a generated one. Not wired in `inline` mode (no visible input to label) and dropped inside an outer `Field`.",
|
|
183
|
+
"required": false,
|
|
184
|
+
"inherited": false,
|
|
185
|
+
"deprecated": false
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"name": "labelSize",
|
|
189
|
+
"type": "'small' | 'normal' | 'medium' | 'large'",
|
|
190
|
+
"default": null,
|
|
191
|
+
"description": "Size for the label.",
|
|
192
|
+
"required": false,
|
|
193
|
+
"inherited": false,
|
|
194
|
+
"deprecated": false
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "labelProps",
|
|
198
|
+
"type": "React.LabelHTMLAttributes<HTMLLabelElement> & { [key: string]: unknown; }",
|
|
199
|
+
"default": null,
|
|
200
|
+
"description": "Props for the label element. An explicit `htmlFor` here overrides the automatic association (no id is generated then).",
|
|
201
|
+
"required": false,
|
|
202
|
+
"inherited": false,
|
|
203
|
+
"deprecated": false
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"name": "horizontal",
|
|
207
|
+
"type": "boolean",
|
|
208
|
+
"default": "false",
|
|
209
|
+
"description": "Render the field with horizontal layout.",
|
|
210
|
+
"required": false,
|
|
211
|
+
"inherited": false,
|
|
212
|
+
"deprecated": false
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "iconLeft",
|
|
216
|
+
"type": "IconProps",
|
|
217
|
+
"default": null,
|
|
218
|
+
"description": "Icon props for the left icon.",
|
|
219
|
+
"required": false,
|
|
220
|
+
"inherited": false,
|
|
221
|
+
"deprecated": false
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "iconRight",
|
|
225
|
+
"type": "IconProps",
|
|
226
|
+
"default": null,
|
|
227
|
+
"description": "Icon props for the right icon.",
|
|
228
|
+
"required": false,
|
|
229
|
+
"inherited": false,
|
|
230
|
+
"deprecated": false
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
"name": "iconRightName",
|
|
234
|
+
"type": "string",
|
|
235
|
+
"default": null,
|
|
236
|
+
"description": "Shortcut for the right icon name.",
|
|
237
|
+
"required": false,
|
|
238
|
+
"inherited": false,
|
|
239
|
+
"deprecated": false
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "iconLeftSize",
|
|
243
|
+
"type": "'small' | 'medium' | 'large'",
|
|
244
|
+
"default": null,
|
|
245
|
+
"description": "Shortcut for left icon size.",
|
|
246
|
+
"required": false,
|
|
247
|
+
"inherited": false,
|
|
248
|
+
"deprecated": false
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "iconRightSize",
|
|
252
|
+
"type": "'small' | 'medium' | 'large'",
|
|
253
|
+
"default": null,
|
|
254
|
+
"description": "Shortcut for right icon size.",
|
|
255
|
+
"required": false,
|
|
256
|
+
"inherited": false,
|
|
257
|
+
"deprecated": false
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"name": "hasIconsLeft",
|
|
261
|
+
"type": "boolean",
|
|
262
|
+
"default": "false",
|
|
263
|
+
"description": "Force the left icon container.",
|
|
264
|
+
"required": false,
|
|
265
|
+
"inherited": false,
|
|
266
|
+
"deprecated": false
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"name": "hasIconsRight",
|
|
270
|
+
"type": "boolean",
|
|
271
|
+
"default": "false",
|
|
272
|
+
"description": "Force the right icon container.",
|
|
273
|
+
"required": false,
|
|
274
|
+
"inherited": false,
|
|
275
|
+
"deprecated": false
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"name": "isLoading",
|
|
279
|
+
"type": "boolean",
|
|
280
|
+
"default": "false",
|
|
281
|
+
"description": "Show a loading indicator on the control.",
|
|
282
|
+
"required": false,
|
|
283
|
+
"inherited": false,
|
|
284
|
+
"deprecated": false
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"name": "isExpanded",
|
|
288
|
+
"type": "boolean",
|
|
289
|
+
"default": "false",
|
|
290
|
+
"description": "Expand the control to fill its container.",
|
|
291
|
+
"required": false,
|
|
292
|
+
"inherited": false,
|
|
293
|
+
"deprecated": false
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"name": "controlSize",
|
|
297
|
+
"type": "'small' | 'medium' | 'large'",
|
|
298
|
+
"default": null,
|
|
299
|
+
"description": "Size of the wrapping Control.",
|
|
300
|
+
"required": false,
|
|
301
|
+
"inherited": false,
|
|
302
|
+
"deprecated": false
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"name": "message",
|
|
306
|
+
"type": "React.ReactNode",
|
|
307
|
+
"default": null,
|
|
308
|
+
"description": "Help/validation text below the input.",
|
|
309
|
+
"required": false,
|
|
310
|
+
"inherited": false,
|
|
311
|
+
"deprecated": false
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "messageColor",
|
|
315
|
+
"type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
|
|
316
|
+
"default": null,
|
|
317
|
+
"description": "Message color.",
|
|
318
|
+
"required": false,
|
|
319
|
+
"inherited": false,
|
|
320
|
+
"deprecated": false
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
"name": "fieldClassName",
|
|
324
|
+
"type": "string",
|
|
325
|
+
"default": null,
|
|
326
|
+
"description": "Additional CSS classes for the Field wrapper.",
|
|
327
|
+
"required": false,
|
|
328
|
+
"inherited": false,
|
|
329
|
+
"deprecated": false
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "controlClassName",
|
|
333
|
+
"type": "string",
|
|
334
|
+
"default": null,
|
|
335
|
+
"description": "Additional CSS classes for the Control wrapper.",
|
|
336
|
+
"required": false,
|
|
337
|
+
"inherited": false,
|
|
338
|
+
"deprecated": false
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"name": "value",
|
|
342
|
+
"type": "Date | null",
|
|
343
|
+
"default": null,
|
|
344
|
+
"description": "Controlled selected date-time.",
|
|
345
|
+
"required": false,
|
|
346
|
+
"inherited": true,
|
|
347
|
+
"deprecated": false
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "defaultValue",
|
|
351
|
+
"type": "Date | null",
|
|
352
|
+
"default": null,
|
|
353
|
+
"description": "Initial value for uncontrolled usage.",
|
|
354
|
+
"required": false,
|
|
355
|
+
"inherited": true,
|
|
356
|
+
"deprecated": false
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "onChange",
|
|
360
|
+
"type": "(d: Date | null) => void",
|
|
361
|
+
"default": null,
|
|
362
|
+
"description": "Fired when either the date or time portion changes.",
|
|
363
|
+
"required": false,
|
|
364
|
+
"inherited": true,
|
|
365
|
+
"deprecated": false
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "onOpen",
|
|
369
|
+
"type": "() => void",
|
|
370
|
+
"default": null,
|
|
371
|
+
"description": "Fired when the popover opens.",
|
|
372
|
+
"required": false,
|
|
373
|
+
"inherited": true,
|
|
374
|
+
"deprecated": false
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
"name": "onClose",
|
|
378
|
+
"type": "() => void",
|
|
379
|
+
"default": null,
|
|
380
|
+
"description": "Fired when the popover closes.",
|
|
381
|
+
"required": false,
|
|
382
|
+
"inherited": true,
|
|
383
|
+
"deprecated": false
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "min",
|
|
387
|
+
"type": "Date",
|
|
388
|
+
"default": null,
|
|
389
|
+
"description": "Lower bound for the combined date-time.",
|
|
390
|
+
"required": false,
|
|
391
|
+
"inherited": true,
|
|
392
|
+
"deprecated": false
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"name": "max",
|
|
396
|
+
"type": "Date",
|
|
397
|
+
"default": null,
|
|
398
|
+
"description": "Upper bound for the combined date-time.",
|
|
399
|
+
"required": false,
|
|
400
|
+
"inherited": true,
|
|
401
|
+
"deprecated": false
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "disabled",
|
|
405
|
+
"type": "boolean",
|
|
406
|
+
"default": "false",
|
|
407
|
+
"description": "Disable the input.",
|
|
408
|
+
"required": false,
|
|
409
|
+
"inherited": true,
|
|
410
|
+
"deprecated": false
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
"name": "readOnly",
|
|
414
|
+
"type": "boolean",
|
|
415
|
+
"default": "false",
|
|
416
|
+
"description": "Read-only input.",
|
|
417
|
+
"required": false,
|
|
418
|
+
"inherited": true,
|
|
419
|
+
"deprecated": false
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"name": "placeholder",
|
|
423
|
+
"type": "string",
|
|
424
|
+
"default": null,
|
|
425
|
+
"description": "Placeholder text.",
|
|
426
|
+
"required": false,
|
|
427
|
+
"inherited": true,
|
|
428
|
+
"deprecated": false
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"name": "format",
|
|
432
|
+
"type": "Intl.DateTimeFormatOptions | string",
|
|
433
|
+
"default": "'YYYY-MM-DD HH:mm'",
|
|
434
|
+
"description": "Token format string or `Intl.DateTimeFormat` options. Default `'YYYY-MM-DD HH:mm'`.",
|
|
435
|
+
"required": false,
|
|
436
|
+
"inherited": true,
|
|
437
|
+
"deprecated": false
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"name": "parse",
|
|
441
|
+
"type": "(s: string) => Date | null",
|
|
442
|
+
"default": null,
|
|
443
|
+
"description": "Custom parser.",
|
|
444
|
+
"required": false,
|
|
445
|
+
"inherited": true,
|
|
446
|
+
"deprecated": false
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"name": "locale",
|
|
450
|
+
"type": "string",
|
|
451
|
+
"default": null,
|
|
452
|
+
"description": "BCP-47 locale tag.",
|
|
453
|
+
"required": false,
|
|
454
|
+
"inherited": true,
|
|
455
|
+
"deprecated": false
|
|
456
|
+
},
|
|
457
|
+
{
|
|
458
|
+
"name": "inline",
|
|
459
|
+
"type": "boolean",
|
|
460
|
+
"default": "false",
|
|
461
|
+
"description": "Render the panel inline (no popover).",
|
|
462
|
+
"required": false,
|
|
463
|
+
"inherited": true,
|
|
464
|
+
"deprecated": false
|
|
465
|
+
},
|
|
466
|
+
{
|
|
467
|
+
"name": "mobileNative",
|
|
468
|
+
"type": "boolean | 'auto'",
|
|
469
|
+
"default": "'auto'",
|
|
470
|
+
"description": "Use `<input type=\"datetime-local\">` on coarse-pointer devices.",
|
|
471
|
+
"required": false,
|
|
472
|
+
"inherited": true,
|
|
473
|
+
"deprecated": false
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"name": "editable",
|
|
477
|
+
"type": "boolean",
|
|
478
|
+
"default": "true",
|
|
479
|
+
"description": "Allow segmented keyboard typing (type the date-time directly across all segments). `false` makes the field picker-only.",
|
|
480
|
+
"required": false,
|
|
481
|
+
"inherited": true,
|
|
482
|
+
"deprecated": false
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"name": "popover",
|
|
486
|
+
"type": "boolean",
|
|
487
|
+
"default": "true",
|
|
488
|
+
"description": "Whether the calendar + time popover exists. `false` makes the field input-only (segmented typing with no popover). Default `true`.",
|
|
489
|
+
"required": false,
|
|
490
|
+
"inherited": true,
|
|
491
|
+
"deprecated": false
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "openOnFocus",
|
|
495
|
+
"type": "boolean",
|
|
496
|
+
"default": "true",
|
|
497
|
+
"description": "Open the popover on focus. Default `true`.",
|
|
498
|
+
"required": false,
|
|
499
|
+
"inherited": true,
|
|
500
|
+
"deprecated": false
|
|
501
|
+
},
|
|
502
|
+
{
|
|
503
|
+
"name": "closeOnSelect",
|
|
504
|
+
"type": "boolean",
|
|
505
|
+
"default": "false",
|
|
506
|
+
"description": "Off by default — users typically tweak both halves before committing.",
|
|
507
|
+
"required": false,
|
|
508
|
+
"inherited": true,
|
|
509
|
+
"deprecated": false
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"name": "position",
|
|
513
|
+
"type": "'bottom-left' | 'bottom-right' | 'top-left' | 'top-right' | 'auto'",
|
|
514
|
+
"default": "'bottom-left'",
|
|
515
|
+
"description": "Popover anchor position.",
|
|
516
|
+
"required": false,
|
|
517
|
+
"inherited": true,
|
|
518
|
+
"deprecated": false
|
|
519
|
+
},
|
|
520
|
+
{
|
|
521
|
+
"name": "appendToBody",
|
|
522
|
+
"type": "boolean",
|
|
523
|
+
"default": "false",
|
|
524
|
+
"description": "Render the popover into `document.body` via portal.",
|
|
525
|
+
"required": false,
|
|
526
|
+
"inherited": true,
|
|
527
|
+
"deprecated": false
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
"name": "color",
|
|
531
|
+
"type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
|
|
532
|
+
"default": null,
|
|
533
|
+
"description": "Bulma color modifier.",
|
|
534
|
+
"required": false,
|
|
535
|
+
"inherited": true,
|
|
536
|
+
"deprecated": false
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"name": "size",
|
|
540
|
+
"type": "'small' | 'medium' | 'large'",
|
|
541
|
+
"default": null,
|
|
542
|
+
"description": "Size variant.",
|
|
543
|
+
"required": false,
|
|
544
|
+
"inherited": true,
|
|
545
|
+
"deprecated": false
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"name": "isRounded",
|
|
549
|
+
"type": "boolean",
|
|
550
|
+
"default": "false",
|
|
551
|
+
"description": "Rounded input corners.",
|
|
552
|
+
"required": false,
|
|
553
|
+
"inherited": true,
|
|
554
|
+
"deprecated": false
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
"name": "shouldDisableDate",
|
|
558
|
+
"type": "(d: Date) => boolean",
|
|
559
|
+
"default": null,
|
|
560
|
+
"description": "Disable specific dates. Blocked dates are also rejected during manual typing (the predicate receives the full candidate date-time — prefer day-based checks).",
|
|
561
|
+
"required": false,
|
|
562
|
+
"inherited": true,
|
|
563
|
+
"deprecated": false
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"name": "unselectableDates",
|
|
567
|
+
"type": "Date[]",
|
|
568
|
+
"default": null,
|
|
569
|
+
"description": "Convenience array of disabled dates, matched by calendar day; also rejected by manual typing.",
|
|
570
|
+
"required": false,
|
|
571
|
+
"inherited": true,
|
|
572
|
+
"deprecated": false
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"name": "firstDayOfWeek",
|
|
576
|
+
"type": "0 | 1 | 2 | 3 | 4 | 5 | 6",
|
|
577
|
+
"default": "0",
|
|
578
|
+
"description": "Day the calendar week starts on.",
|
|
579
|
+
"required": false,
|
|
580
|
+
"inherited": true,
|
|
581
|
+
"deprecated": false
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "dayNames",
|
|
585
|
+
"type": "string[]",
|
|
586
|
+
"default": null,
|
|
587
|
+
"description": "Override the 7 day-name labels.",
|
|
588
|
+
"required": false,
|
|
589
|
+
"inherited": true,
|
|
590
|
+
"deprecated": false
|
|
591
|
+
},
|
|
592
|
+
{
|
|
593
|
+
"name": "monthNames",
|
|
594
|
+
"type": "string[]",
|
|
595
|
+
"default": null,
|
|
596
|
+
"description": "Override the 12 month-name labels.",
|
|
597
|
+
"required": false,
|
|
598
|
+
"inherited": true,
|
|
599
|
+
"deprecated": false
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"name": "nearbyMonthDays",
|
|
603
|
+
"type": "boolean",
|
|
604
|
+
"default": "true",
|
|
605
|
+
"description": "Show dimmed dates from adjacent months.",
|
|
606
|
+
"required": false,
|
|
607
|
+
"inherited": true,
|
|
608
|
+
"deprecated": false
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
"name": "hourFormat",
|
|
612
|
+
"type": "'12' | '24'",
|
|
613
|
+
"default": "'24'",
|
|
614
|
+
"description": "Time format.",
|
|
615
|
+
"required": false,
|
|
616
|
+
"inherited": true,
|
|
617
|
+
"deprecated": false
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"name": "enableSeconds",
|
|
621
|
+
"type": "boolean",
|
|
622
|
+
"default": "false",
|
|
623
|
+
"description": "Show seconds column. Note: iOS Safari's native datetime-local picker UI does not include a seconds wheel; pass `mobileNative={false}` if you need one on iOS.",
|
|
624
|
+
"required": false,
|
|
625
|
+
"inherited": true,
|
|
626
|
+
"deprecated": false
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "incrementHours",
|
|
630
|
+
"type": "number",
|
|
631
|
+
"default": "1",
|
|
632
|
+
"description": "Hour step.",
|
|
633
|
+
"required": false,
|
|
634
|
+
"inherited": true,
|
|
635
|
+
"deprecated": false
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"name": "incrementMinutes",
|
|
639
|
+
"type": "number",
|
|
640
|
+
"default": "1",
|
|
641
|
+
"description": "Step between minute-wheel values (`1` = every minute, iOS-style).",
|
|
642
|
+
"required": false,
|
|
643
|
+
"inherited": true,
|
|
644
|
+
"deprecated": false
|
|
645
|
+
},
|
|
646
|
+
{
|
|
647
|
+
"name": "incrementSeconds",
|
|
648
|
+
"type": "number",
|
|
649
|
+
"default": "1",
|
|
650
|
+
"description": "Step between second-wheel values (only with `enableSeconds`).",
|
|
651
|
+
"required": false,
|
|
652
|
+
"inherited": true,
|
|
653
|
+
"deprecated": false
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
"name": "unselectableTimes",
|
|
657
|
+
"type": "(d: Date) => boolean",
|
|
658
|
+
"default": null,
|
|
659
|
+
"description": "Block specific times. Blocked times are also rejected during manual typing.",
|
|
660
|
+
"required": false,
|
|
661
|
+
"inherited": true,
|
|
662
|
+
"deprecated": false
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
"name": "iconLeftName",
|
|
666
|
+
"type": "string",
|
|
667
|
+
"default": "'calendar-alt'",
|
|
668
|
+
"description": "Decorative left icon glyph for the wrapping `Control` (shown by default). Set `''` to hide.",
|
|
669
|
+
"required": false,
|
|
670
|
+
"inherited": true,
|
|
671
|
+
"deprecated": false
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "triggerIcon",
|
|
675
|
+
"type": "boolean",
|
|
676
|
+
"default": "true",
|
|
677
|
+
"description": "Show a clickable launcher button on the right that toggles the popover. Default `true`.",
|
|
678
|
+
"required": false,
|
|
679
|
+
"inherited": true,
|
|
680
|
+
"deprecated": false
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"name": "triggerIconName",
|
|
684
|
+
"type": "string",
|
|
685
|
+
"default": "'chevron-down'",
|
|
686
|
+
"description": "Glyph for the right launcher button.",
|
|
687
|
+
"required": false,
|
|
688
|
+
"inherited": true,
|
|
689
|
+
"deprecated": false
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"name": "audioTick",
|
|
693
|
+
"type": "boolean",
|
|
694
|
+
"default": "false",
|
|
695
|
+
"description": "Play a short audible tick on each time-wheel crossing. Default `false`.",
|
|
696
|
+
"required": false,
|
|
697
|
+
"inherited": true,
|
|
698
|
+
"deprecated": false
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"name": "haptics",
|
|
702
|
+
"type": "boolean",
|
|
703
|
+
"default": "false",
|
|
704
|
+
"description": "Auto-route tactile feedback per wheel tick (vibrate on Android, audio thunk on iOS). Default `false`.",
|
|
705
|
+
"required": false,
|
|
706
|
+
"inherited": true,
|
|
707
|
+
"deprecated": false
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"name": "labels",
|
|
711
|
+
"type": "PickerLabels",
|
|
712
|
+
"default": null,
|
|
713
|
+
"description": "Optional translatable string overrides.",
|
|
714
|
+
"required": false,
|
|
715
|
+
"inherited": true,
|
|
716
|
+
"deprecated": false
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"name": "className",
|
|
720
|
+
"type": "string",
|
|
721
|
+
"default": null,
|
|
722
|
+
"description": "Additional CSS classes.",
|
|
723
|
+
"required": false,
|
|
724
|
+
"inherited": false,
|
|
725
|
+
"deprecated": false
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"name": "ref",
|
|
729
|
+
"type": "React.Ref<HTMLInputElement>",
|
|
730
|
+
"default": null,
|
|
731
|
+
"description": "Forwarded to the underlying element.",
|
|
732
|
+
"required": false,
|
|
733
|
+
"inherited": false,
|
|
734
|
+
"deprecated": false
|
|
735
|
+
}
|
|
736
|
+
],
|
|
737
|
+
"extraProps": [
|
|
738
|
+
{
|
|
739
|
+
"name": "name",
|
|
740
|
+
"type": "string",
|
|
741
|
+
"default": null,
|
|
742
|
+
"description": "Form field name.",
|
|
743
|
+
"required": false,
|
|
744
|
+
"inherited": false,
|
|
745
|
+
"deprecated": false
|
|
746
|
+
},
|
|
747
|
+
{
|
|
748
|
+
"name": "form",
|
|
749
|
+
"type": "string",
|
|
750
|
+
"default": null,
|
|
751
|
+
"description": "Optional id of the form the input belongs to.",
|
|
752
|
+
"required": false,
|
|
753
|
+
"inherited": false,
|
|
754
|
+
"deprecated": false
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"name": "required",
|
|
758
|
+
"type": "boolean",
|
|
759
|
+
"default": "false",
|
|
760
|
+
"description": "Marks the field as required for native HTML form validation.",
|
|
761
|
+
"required": false,
|
|
762
|
+
"inherited": false,
|
|
763
|
+
"deprecated": false
|
|
764
|
+
}
|
|
765
|
+
],
|
|
766
|
+
"catchAll": "All standard <input> attributes and Bulma helper props",
|
|
767
|
+
"types": []
|
|
768
|
+
}
|
|
769
|
+
],
|
|
770
|
+
"cssVars": [
|
|
771
|
+
{
|
|
772
|
+
"css": "--bulma-input-h",
|
|
773
|
+
"sass": "$input-h",
|
|
774
|
+
"default": "var(--bulma-scheme-h)",
|
|
775
|
+
"scope": "component"
|
|
776
|
+
},
|
|
777
|
+
{
|
|
778
|
+
"css": "--bulma-input-s",
|
|
779
|
+
"sass": "$input-s",
|
|
780
|
+
"default": "var(--bulma-scheme-s)",
|
|
781
|
+
"scope": "component"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"css": "--bulma-input-l",
|
|
785
|
+
"sass": "$input-l",
|
|
786
|
+
"default": "var(--bulma-scheme-main-l)",
|
|
787
|
+
"scope": "component"
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"css": "--bulma-input-border-style",
|
|
791
|
+
"sass": "$input-border-style",
|
|
792
|
+
"default": "solid",
|
|
793
|
+
"scope": "component"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"css": "--bulma-input-border-width",
|
|
797
|
+
"sass": "$input-border-width",
|
|
798
|
+
"default": "var(--bulma-control-border-width)",
|
|
799
|
+
"scope": "component"
|
|
800
|
+
},
|
|
801
|
+
{
|
|
802
|
+
"css": "--bulma-input-border-l",
|
|
803
|
+
"sass": "$input-border-l",
|
|
804
|
+
"default": "var(--bulma-border-l)",
|
|
805
|
+
"scope": "component"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"css": "--bulma-input-border-l-delta",
|
|
809
|
+
"sass": "$input-border-l-delta",
|
|
810
|
+
"default": "0%",
|
|
811
|
+
"scope": "component"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"css": "--bulma-input-border-color",
|
|
815
|
+
"sass": "$input-border-color",
|
|
816
|
+
"default": "hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-border-l) + var(--bulma-input-border-l-delta)))",
|
|
817
|
+
"scope": "component"
|
|
818
|
+
},
|
|
819
|
+
{
|
|
820
|
+
"css": "--bulma-input-hover-border-l-delta",
|
|
821
|
+
"sass": "$input-hover-border-l-delta",
|
|
822
|
+
"default": "var(--bulma-hover-border-l-delta)",
|
|
823
|
+
"scope": "component"
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
"css": "--bulma-input-active-border-l-delta",
|
|
827
|
+
"sass": "$input-active-border-l-delta",
|
|
828
|
+
"default": "var(--bulma-active-border-l-delta)",
|
|
829
|
+
"scope": "component"
|
|
830
|
+
},
|
|
831
|
+
{
|
|
832
|
+
"css": "--bulma-input-focus-h",
|
|
833
|
+
"sass": "$input-focus-h",
|
|
834
|
+
"default": "var(--bulma-focus-h)",
|
|
835
|
+
"scope": "component"
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"css": "--bulma-input-focus-s",
|
|
839
|
+
"sass": "$input-focus-s",
|
|
840
|
+
"default": "var(--bulma-focus-s)",
|
|
841
|
+
"scope": "component"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"css": "--bulma-input-focus-l",
|
|
845
|
+
"sass": "$input-focus-l",
|
|
846
|
+
"default": "var(--bulma-focus-l)",
|
|
847
|
+
"scope": "component"
|
|
848
|
+
},
|
|
849
|
+
{
|
|
850
|
+
"css": "--bulma-input-focus-shadow-size",
|
|
851
|
+
"sass": "$input-focus-shadow-size",
|
|
852
|
+
"default": "var(--bulma-focus-shadow-size)",
|
|
853
|
+
"scope": "component"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"css": "--bulma-input-focus-shadow-alpha",
|
|
857
|
+
"sass": "$input-focus-shadow-alpha",
|
|
858
|
+
"default": "var(--bulma-focus-shadow-alpha)",
|
|
859
|
+
"scope": "component"
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"css": "--bulma-input-color-l",
|
|
863
|
+
"sass": "$input-color-l",
|
|
864
|
+
"default": "var(--bulma-text-strong-l)",
|
|
865
|
+
"scope": "component"
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"css": "--bulma-input-background-l",
|
|
869
|
+
"sass": "$input-background-l",
|
|
870
|
+
"default": "var(--bulma-scheme-main-l)",
|
|
871
|
+
"scope": "component"
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
"css": "--bulma-input-background-l-delta",
|
|
875
|
+
"sass": "$input-background-l-delta",
|
|
876
|
+
"default": "0%",
|
|
877
|
+
"scope": "component"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"css": "--bulma-input-height",
|
|
881
|
+
"sass": "$input-height",
|
|
882
|
+
"default": "var(--bulma-control-height)",
|
|
883
|
+
"scope": "component"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"css": "--bulma-input-shadow",
|
|
887
|
+
"sass": "$input-shadow",
|
|
888
|
+
"default": "inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05)",
|
|
889
|
+
"scope": "component"
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"css": "--bulma-input-placeholder-color",
|
|
893
|
+
"sass": "$input-placeholder-color",
|
|
894
|
+
"default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.3)",
|
|
895
|
+
"scope": "component"
|
|
896
|
+
},
|
|
897
|
+
{
|
|
898
|
+
"css": "--bulma-input-disabled-color",
|
|
899
|
+
"sass": "$input-disabled-color",
|
|
900
|
+
"default": "var(--bulma-text-weak)",
|
|
901
|
+
"scope": "component"
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"css": "--bulma-input-disabled-background-color",
|
|
905
|
+
"sass": "$input-disabled-background-color",
|
|
906
|
+
"default": "var(--bulma-background)",
|
|
907
|
+
"scope": "component"
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"css": "--bulma-input-disabled-border-color",
|
|
911
|
+
"sass": "$input-disabled-border-color",
|
|
912
|
+
"default": "var(--bulma-background)",
|
|
913
|
+
"scope": "component"
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
"css": "--bulma-input-disabled-placeholder-color",
|
|
917
|
+
"sass": "$input-disabled-placeholder-color",
|
|
918
|
+
"default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l), 0.3)",
|
|
919
|
+
"scope": "component"
|
|
920
|
+
},
|
|
921
|
+
{
|
|
922
|
+
"css": "--bulma-input-arrow",
|
|
923
|
+
"sass": "$input-arrow",
|
|
924
|
+
"default": "var(--bulma-link)",
|
|
925
|
+
"scope": "component"
|
|
926
|
+
},
|
|
927
|
+
{
|
|
928
|
+
"css": "--bulma-input-icon-color",
|
|
929
|
+
"sass": "$input-icon-color",
|
|
930
|
+
"default": "var(--bulma-text-light)",
|
|
931
|
+
"scope": "component"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"css": "--bulma-input-icon-hover-color",
|
|
935
|
+
"sass": "$input-icon-hover-color",
|
|
936
|
+
"default": "var(--bulma-text-weak)",
|
|
937
|
+
"scope": "component"
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"css": "--bulma-input-icon-focus-color",
|
|
941
|
+
"sass": "$input-icon-focus-color",
|
|
942
|
+
"default": "var(--bulma-link)",
|
|
943
|
+
"scope": "component"
|
|
944
|
+
},
|
|
945
|
+
{
|
|
946
|
+
"css": "--bulma-input-radius",
|
|
947
|
+
"sass": "$input-radius",
|
|
948
|
+
"default": "var(--bulma-radius)",
|
|
949
|
+
"scope": "component"
|
|
950
|
+
}
|
|
951
|
+
]
|
|
952
|
+
}
|