## `hb-input-datetime` — input-datetime

**Category:** inputs  
**Tags:** inputs

### What it does

Composes `hb-input-date` and `hb-input-number` to edit date, hours, minutes, and (unless `params.removeSeconds`) seconds, then combines them into a single ISO string `value`. Honors `schemaentry.params.min` / `max` as date bounds when required. Registers `hb-input-date` and `hb-input-number` and dispatches `setVal` with `{ value, valid, id }`.

### Styling (Bulma)

Shadow bundle: `form/shared`, `form/input-textarea`, `form/tools`. Layout uses Bulma `field is-grouped` / `control`; invalid state uses `help is-danger` and a host outline. Child WCs ship their own input styles. Theme `--bulma-*` on `:host`.

### Custom element

`hb-input-datetime`

### Attributes (snake_case; use string values in HTML)

- `id` — optional string  
- `style` — optional string  
- `schemaentry` — required string (JSON: `id`, `label?`, `required?`, `value?` as ISO datetime string, `validationTip?`, `params.removeSeconds?`, `params.min` / `params.max`, …)  
- `show_validation` — optional `"yes"` | `"no"`

### Events

- `setVal` — `{ value: string; valid: boolean; id: string }`

### Usage notes

CSS part: `invalid-feedback` on the validation message. Child inputs carry their own parts. Child components must be registered in the bundle.

### Minimal HTML example

```html
<hb-input-datetime
  schemaentry="{&quot;id&quot;:&quot;starts_at&quot;,&quot;label&quot;:&quot;Start&quot;,&quot;required&quot;:true,&quot;params&quot;:{&quot;removeSeconds&quot;:true}}"
  show_validation="no"
></hb-input-datetime>
```
