@toife/vue 3.1.2 → 3.1.4
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/package.json +1 -1
- package/src/components/action/action.html +1 -1
- package/src/components/app/app.type.ts +6 -0
- package/src/components/app/app.vue +7 -1
- package/src/components/avatar/avatar.scss +3 -2
- package/src/components/button/button.scss +9 -6
- package/src/components/button/button.type.ts +3 -1
- package/src/components/card/card/card.scss +3 -1
- package/src/components/checkbox/checkbox.scss +9 -14
- package/src/components/checkbox/checkbox.type.ts +4 -0
- package/src/components/checkbox/checkbox.vue +2 -0
- package/src/components/decision-modal/decision-modal.scss +3 -1
- package/src/components/divider/divider.type.ts +2 -2
- package/src/components/divider/divider.vue +2 -2
- package/src/components/divider/index.ts +1 -1
- package/src/components/dropdown/dropdown.scss +5 -2
- package/src/components/dropdown/dropdown.type.ts +4 -1
- package/src/components/dropdown/dropdown.vue +4 -0
- package/src/components/field/field.type.ts +2 -2
- package/src/components/field/outline/outline.scss +9 -8
- package/src/components/form-group/form-group.type.ts +2 -2
- package/src/components/form-group/form-group.vue +2 -2
- package/src/components/gesture-indicator/gesture-indicator.scss +3 -1
- package/src/components/index.ts +1 -0
- package/src/components/layout/flex/flex.scss +0 -2
- package/src/components/layout/flex/flex.type.ts +3 -1
- package/src/components/layout/flex-item/flex-item.html +1 -0
- package/src/components/layout/flex-item/flex-item.scss +48 -0
- package/src/components/layout/flex-item/flex-item.type.ts +11 -0
- package/src/components/layout/flex-item/flex-item.vue +27 -0
- package/src/components/layout/flex-item/index.ts +2 -0
- package/src/components/layout/grid/grid.scss +0 -2
- package/src/components/layout/grid/grid.type.ts +1 -1
- package/src/components/layout/grid-item/grid-item.html +1 -0
- package/src/components/layout/grid-item/grid-item.scss +49 -0
- package/src/components/layout/grid-item/grid-item.type.ts +14 -0
- package/src/components/layout/grid-item/grid-item.vue +27 -0
- package/src/components/layout/grid-item/index.ts +2 -0
- package/src/components/layout/index.ts +2 -1
- package/src/components/modal/modal.scss +3 -1
- package/src/components/radio/radio/radio.scss +7 -5
- package/src/components/radio/radio/radio.type.ts +4 -0
- package/src/components/radio/radio/radio.vue +2 -0
- package/src/components/radio/radio-group/index.ts +1 -1
- package/src/components/radio/radio-group/radio-group.type.ts +2 -2
- package/src/components/radio/radio-group/radio-group.vue +2 -2
- package/src/components/refresher/refresher.html +4 -4
- package/src/components/refresher/refresher.scss +10 -4
- package/src/components/refresher/refresher.vue +3 -3
- package/src/components/skeleton/skeleton.scss +3 -1
- package/src/components/slide-range/index.ts +2 -0
- package/src/components/slide-range/slide-range.html +20 -0
- package/src/components/slide-range/slide-range.scss +161 -0
- package/src/components/slide-range/slide-range.type.ts +16 -0
- package/src/components/slide-range/slide-range.vue +229 -0
- package/src/components/switch/switch.scss +11 -22
- package/src/components/switch/switch.type.ts +5 -0
- package/src/components/switch/switch.vue +2 -0
- package/src/components/tabs/tabs/tabs.scss +135 -95
- package/src/components/tabs/tabs/tabs.type.ts +0 -1
- package/src/components/tabs/tabs/tabs.vue +6 -10
- package/src/components/toast/toast-content/toast-content.scss +3 -2
- package/src/components/toolbar/toolbar.html +1 -3
- package/src/components/toolbar/toolbar.scss +25 -40
- package/src/components/toolbar/toolbar.type.ts +2 -2
- package/src/components/toolbar/toolbar.vue +6 -6
- package/src/factory.ts +6 -2
- package/src/index.ts +1 -1
- package/src/components/action/action.md +0 -115
- package/src/components/app/app.md +0 -77
- package/src/components/avatar/avatar.md +0 -64
- package/src/components/button/button.md +0 -66
- package/src/components/cable/cable.md +0 -57
- package/src/components/card/card/card.md +0 -57
- package/src/components/card/card-body/card-body.md +0 -34
- package/src/components/card/card-footer/card-footer.md +0 -42
- package/src/components/card/card-header/card-header.md +0 -44
- package/src/components/checkbox/checkbox.md +0 -60
- package/src/components/collapse/collapse.md +0 -59
- package/src/components/container/container.md +0 -38
- package/src/components/decision-modal/decision-modal.md +0 -79
- package/src/components/divider/divider.md +0 -42
- package/src/components/field/field.md +0 -68
- package/src/components/field/outline/outline-field.md +0 -44
- package/src/components/form-group/form-group.md +0 -41
- package/src/components/gesture-indicator/gesture-indicator.md +0 -42
- package/src/components/image/image.md +0 -41
- package/src/components/layout/cell/cell.html +0 -1
- package/src/components/layout/cell/cell.md +0 -47
- package/src/components/layout/cell/cell.scss +0 -54
- package/src/components/layout/cell/cell.type.ts +0 -19
- package/src/components/layout/cell/cell.vue +0 -35
- package/src/components/layout/cell/index.ts +0 -2
- package/src/components/layout/grid/grid.md +0 -50
- package/src/components/modal/modal.md +0 -65
- package/src/components/page/page.md +0 -39
- package/src/components/present/present.md +0 -60
- package/src/components/radio/radio/radio.md +0 -53
- package/src/components/radio/radio-group/radio-group.md +0 -62
- package/src/components/refresher/refresher.md +0 -53
- package/src/components/route/route-navigator/route-navigator.md +0 -50
- package/src/components/route/route-outlet/route-outlet.md +0 -30
- package/src/components/route/route-provider/route-provider.md +0 -46
- package/src/components/route/route-wrapper/route-wrapper.md +0 -45
- package/src/components/segmented-field/segmented-field.md +0 -58
- package/src/components/skeleton/skeleton.md +0 -47
- package/src/components/switch/switch.md +0 -57
- package/src/components/tabs/tab/tab.md +0 -52
- package/src/components/tabs/tabs/tabs.md +0 -59
- package/src/components/toast/toast/toast.md +0 -56
- package/src/components/toast/toast-content/toast-content.md +0 -41
- package/src/components/toolbar/toolbar.md +0 -57
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# `<t-card-footer>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Card footer region; divider follows `t-card` context.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | --------------------------------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | Should be inside `t-card` for correct inject. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-card>
|
|
20
|
-
<t-card-footer>
|
|
21
|
-
<t-button>OK</t-button>
|
|
22
|
-
</t-card-footer>
|
|
23
|
-
</t-card>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Props
|
|
27
|
-
|
|
28
|
-
_None._
|
|
29
|
-
|
|
30
|
-
## Slots
|
|
31
|
-
|
|
32
|
-
| Slot | Description |
|
|
33
|
-
| --------- | --------------- |
|
|
34
|
-
| `default` | Footer content. |
|
|
35
|
-
|
|
36
|
-
## Provide / inject
|
|
37
|
-
|
|
38
|
-
Injects `CardProviderState` from `t-card`.
|
|
39
|
-
|
|
40
|
-
## See also
|
|
41
|
-
|
|
42
|
-
- Source: `src/components/card/card-footer`
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# `<t-card-header>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Card header region; divider follows context from `t-card`.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ------------------------------------------------------------ |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | Must be inside `t-card` (injects `CARD_PROVIDER_STATE_KEY`). |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-card>
|
|
20
|
-
<t-card-header>Title</t-card-header>
|
|
21
|
-
</t-card>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Props
|
|
25
|
-
|
|
26
|
-
_No own props._
|
|
27
|
-
|
|
28
|
-
## Events (emits)
|
|
29
|
-
|
|
30
|
-
_None._
|
|
31
|
-
|
|
32
|
-
## Slots
|
|
33
|
-
|
|
34
|
-
| Slot | Description |
|
|
35
|
-
| --------- | --------------- |
|
|
36
|
-
| `default` | Header content. |
|
|
37
|
-
|
|
38
|
-
## Provide / inject
|
|
39
|
-
|
|
40
|
-
Injects `CardProviderState` from `t-card`.
|
|
41
|
-
|
|
42
|
-
## See also
|
|
43
|
-
|
|
44
|
-
- Source: `src/components/card/card-header`
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# `<t-checkbox>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Custom boolean checkbox (not a native `<input type="checkbox">`), with `v-model` and readonly/disabled states.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | -------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` recommended. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-checkbox v-model="checked">I agree</t-checkbox>
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Props
|
|
23
|
-
|
|
24
|
-
| Prop | Type | Default | Description |
|
|
25
|
-
| ------------ | --------------------- | -------- | ------------------------ |
|
|
26
|
-
| `modelValue` | `boolean` | `false` | Value (`v-model`). |
|
|
27
|
-
| `role` | `string` | — | Theme; default from app. |
|
|
28
|
-
| `shape` | `string` | — | Shape; default from app. |
|
|
29
|
-
| `variant` | `"fill" \| "outline"` | `"fill"` | Visual variant. |
|
|
30
|
-
| `readonly` | `boolean` | `false` | Read-only. |
|
|
31
|
-
| `disabled` | `boolean` | `false` | Disabled. |
|
|
32
|
-
| `shadow` | `boolean` | — | Default from app. |
|
|
33
|
-
|
|
34
|
-
**Type source:** `src/components/checkbox/checkbox.type.ts`
|
|
35
|
-
|
|
36
|
-
## Events (emits)
|
|
37
|
-
|
|
38
|
-
| Event | Payload | Description |
|
|
39
|
-
| ------------------- | --------- | ------------------------------------- |
|
|
40
|
-
| `update:modelValue` | `boolean` | Updates `v-model`. |
|
|
41
|
-
| `focus` | — | When focused (not disabled/readonly). |
|
|
42
|
-
| `blur` | — | When blurred. |
|
|
43
|
-
|
|
44
|
-
## Slots
|
|
45
|
-
|
|
46
|
-
| Slot | Description |
|
|
47
|
-
| --------- | ----------------------- |
|
|
48
|
-
| `default` | Label next to the icon. |
|
|
49
|
-
|
|
50
|
-
## `v-model`
|
|
51
|
-
|
|
52
|
-
`modelValue` / `update:modelValue`.
|
|
53
|
-
|
|
54
|
-
## Accessibility (a11y)
|
|
55
|
-
|
|
56
|
-
`role="checkbox"`, `aria-checked`, `tabindex` 0 or -1; Space/Enter toggles.
|
|
57
|
-
|
|
58
|
-
## See also
|
|
59
|
-
|
|
60
|
-
- Source: `src/components/checkbox`
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
# `<t-collapse>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Expand/collapse panel with height animation; separate slots for trigger and content.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | -------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` recommended. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-collapse v-model="open">
|
|
20
|
-
<template #trigger>Expand</template>
|
|
21
|
-
<p>Hidden content</p>
|
|
22
|
-
</t-collapse>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Props
|
|
26
|
-
|
|
27
|
-
| Prop | Type | Default | Description |
|
|
28
|
-
| ------------ | --------- | ------- | -------------------------------------------------- |
|
|
29
|
-
| `modelValue` | `boolean` | `false` | Open (`true`) / closed. |
|
|
30
|
-
| `duration` | `number` | — | Transition duration (ms), mapped to CSS variables. |
|
|
31
|
-
| `role` | `string` | — | Theme role. |
|
|
32
|
-
| `disabled` | `boolean` | `false` | Disables toggling. |
|
|
33
|
-
|
|
34
|
-
**Type source:** `src/components/collapse/collapse.type.ts`
|
|
35
|
-
|
|
36
|
-
## Events (emits)
|
|
37
|
-
|
|
38
|
-
| Event | Payload | Description |
|
|
39
|
-
| ------------------- | --------- | ------------- |
|
|
40
|
-
| `update:modelValue` | `boolean` | After toggle. |
|
|
41
|
-
|
|
42
|
-
## Slots
|
|
43
|
-
|
|
44
|
-
| Slot | Description |
|
|
45
|
-
| --------- | ----------------------------------- |
|
|
46
|
-
| `trigger` | Clickable header (`role="button"`). |
|
|
47
|
-
| `default` | Collapsible content. |
|
|
48
|
-
|
|
49
|
-
## `v-model`
|
|
50
|
-
|
|
51
|
-
`modelValue` / `update:modelValue`.
|
|
52
|
-
|
|
53
|
-
## Accessibility (a11y)
|
|
54
|
-
|
|
55
|
-
Trigger: `role="button"`, `aria-expanded`, `aria-disabled`; Enter/Space toggles.
|
|
56
|
-
|
|
57
|
-
## See also
|
|
58
|
-
|
|
59
|
-
- Source: `src/components/collapse`
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# `<t-container>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Base layout block (`layer` + `container`) wrapping page content.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ----- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | None. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-page>
|
|
20
|
-
<t-container>
|
|
21
|
-
<p>Content</p>
|
|
22
|
-
</t-container>
|
|
23
|
-
</t-page>
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Props
|
|
27
|
-
|
|
28
|
-
_No props._
|
|
29
|
-
|
|
30
|
-
## Slots
|
|
31
|
-
|
|
32
|
-
| Slot | Description |
|
|
33
|
-
| --------- | ----------- |
|
|
34
|
-
| `default` | Content. |
|
|
35
|
-
|
|
36
|
-
## See also
|
|
37
|
-
|
|
38
|
-
- Source: `src/components/container`
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# `<t-decision-modal>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Confirmation dialog (title, message, actions) inside `Present`. Often driven with `useDecisionModal()` from `t-app`.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ---------------------------------------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` recommended; depends on `Present`, `Button`. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-decision-modal
|
|
20
|
-
:visible="show"
|
|
21
|
-
title="Confirm"
|
|
22
|
-
message="Are you sure?"
|
|
23
|
-
:actions="[
|
|
24
|
-
{ text: 'Cancel', variant: 'text', handler: () => (show = false) },
|
|
25
|
-
{ text: 'Delete', variant: 'fill', handler: onDelete },
|
|
26
|
-
]"
|
|
27
|
-
:dismiss="['backdrop']"
|
|
28
|
-
@close="show = false"
|
|
29
|
-
/>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
Composable:
|
|
33
|
-
|
|
34
|
-
```ts
|
|
35
|
-
const modal = useDecisionModal();
|
|
36
|
-
modal.open({
|
|
37
|
-
message: "…",
|
|
38
|
-
actions: […],
|
|
39
|
-
onClose: () => {},
|
|
40
|
-
onChoose: (btn) => {},
|
|
41
|
-
});
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Props
|
|
45
|
-
|
|
46
|
-
| Prop | Type | Default | Description |
|
|
47
|
-
| ----------- | ----------------------- | ------------ | ---------------------------------- |
|
|
48
|
-
| `visible` | `boolean` | `false` | Visibility. |
|
|
49
|
-
| `title` | `string` | — | Title (`header` slot overrides). |
|
|
50
|
-
| `message` | `string` | _(required)_ | Main copy (`body` slot overrides). |
|
|
51
|
-
| `actions` | `DecisionModalButton[]` | _(required)_ | Footer buttons. |
|
|
52
|
-
| `dismiss` | `string[]` | — | Close reasons that emit `close`. |
|
|
53
|
-
| `placement` | `string` | `"center"` | `Present` placement. |
|
|
54
|
-
| `role` | `string` | — | Theme. |
|
|
55
|
-
| `shape` | `string` | — | Shape. |
|
|
56
|
-
| `divider` | `boolean` | — | Divider; default from app. |
|
|
57
|
-
| `flow` | `"row" \| "column"` | `"row"` | Footer button layout. |
|
|
58
|
-
|
|
59
|
-
**Type source:** `src/components/decision-modal/decision-modal.type.ts`
|
|
60
|
-
|
|
61
|
-
## Events (emits)
|
|
62
|
-
|
|
63
|
-
| Event | Payload | Description |
|
|
64
|
-
| -------- | -------------------------- | -------------------------------- |
|
|
65
|
-
| `close` | `type?: string` | Valid dismiss (per `dismiss`). |
|
|
66
|
-
| `choose` | `btn: DecisionModalButton` | Button chosen (after `handler`). |
|
|
67
|
-
|
|
68
|
-
## Slots
|
|
69
|
-
|
|
70
|
-
| Slot | Description |
|
|
71
|
-
| -------- | ---------------------------------------- |
|
|
72
|
-
| `header` | Replaces header (default shows `title`). |
|
|
73
|
-
| `body` | Replaces `message`. |
|
|
74
|
-
| `footer` | Replaces default button row. |
|
|
75
|
-
|
|
76
|
-
## See also
|
|
77
|
-
|
|
78
|
-
- Source: `src/components/decision-modal`
|
|
79
|
-
- `decision-modal.composable.ts`
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# `<t-divider>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Horizontal or vertical divider line following theme.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` for `role`. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-divider orientation="horizontal" />
|
|
20
|
-
<t-divider orientation="vertical" />
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Props
|
|
24
|
-
|
|
25
|
-
| Prop | Type | Default | Description |
|
|
26
|
-
| ------------- | ---------------------------- | -------------- | ------------------------------- |
|
|
27
|
-
| `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Divider direction. |
|
|
28
|
-
| `role` | `string` | — | Theme stroke; default from app. |
|
|
29
|
-
|
|
30
|
-
**Type source:** `src/components/divider/divider.type.ts`
|
|
31
|
-
|
|
32
|
-
## Events (emits)
|
|
33
|
-
|
|
34
|
-
_None._
|
|
35
|
-
|
|
36
|
-
## Slots
|
|
37
|
-
|
|
38
|
-
_None._
|
|
39
|
-
|
|
40
|
-
## See also
|
|
41
|
-
|
|
42
|
-
- Source: `src/components/divider`
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
# `<t-field>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Text input field. The current implementation only renders `OutlineField` when `variant === 'outline'`. Supports `v-model`, validation message, help text, and many input options.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | -------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` recommended. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-field v-model="text" placeholder="Type…" />
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Props
|
|
23
|
-
|
|
24
|
-
| Prop | Type | Default | Description |
|
|
25
|
-
| ----------------------- | ------------------ | ------------ | ----------------------------------------------------------------- |
|
|
26
|
-
| `modelValue` | `string` | `""` | Value (`v-model`). |
|
|
27
|
-
| `name` | `string` | — | Input `name`. |
|
|
28
|
-
| `variant` | `FieldVariant` | `"outline"` | Only `outline` is wired in the current UI. |
|
|
29
|
-
| `role` / `shape` | `string` | — | Theme; default from app. |
|
|
30
|
-
| `size` | `FieldSize` | `"standard"` | Field size. |
|
|
31
|
-
| `shadow` | `boolean` | — | Default from app. |
|
|
32
|
-
| `direction` | `AppDirection` | — | Default from app or `left`. |
|
|
33
|
-
| `id` | `string` | — | Element id. |
|
|
34
|
-
| `value` | `string` | — | May mirror model (`OutlineField` uses `value \|\| modelValue`). |
|
|
35
|
-
| `placeholder` | `string` | `""` | Placeholder. |
|
|
36
|
-
| `disabled` / `readonly` | `boolean` | `false` | |
|
|
37
|
-
| `autocomplete` | `string` | — | |
|
|
38
|
-
| `maxLength` | `number \| string` | — | |
|
|
39
|
-
| `tabindex` | `number \| string` | — | |
|
|
40
|
-
| `type` | `FieldType` | `"text"` | `text`, `number`, `email`, `password`, `tel`, `url`, `paragraph`. |
|
|
41
|
-
| `line` / `maxLine` | `number \| string` | `1` / — | Lines (paragraph). |
|
|
42
|
-
| `message` | `string` | `""` | Validation / warning message. |
|
|
43
|
-
| `help` | `string` | `""` | Help hint. |
|
|
44
|
-
|
|
45
|
-
**Type source:** `src/components/field/field.type.ts`
|
|
46
|
-
|
|
47
|
-
## Events (emits)
|
|
48
|
-
|
|
49
|
-
| Event | Payload | Description |
|
|
50
|
-
| ------------------- | ------------ | ------------- |
|
|
51
|
-
| `update:modelValue` | `string` | Model update. |
|
|
52
|
-
| `focus` | `FocusEvent` | |
|
|
53
|
-
| `blur` | `FocusEvent` | |
|
|
54
|
-
| `input` | `Event` | |
|
|
55
|
-
| `beforeinput` | `Event` | |
|
|
56
|
-
|
|
57
|
-
## Slots
|
|
58
|
-
|
|
59
|
-
_None_ — content is owned by `OutlineField` (which may expose a default slot in the implementation).
|
|
60
|
-
|
|
61
|
-
## `v-model`
|
|
62
|
-
|
|
63
|
-
`modelValue` / `update:modelValue`.
|
|
64
|
-
|
|
65
|
-
## See also
|
|
66
|
-
|
|
67
|
-
- Source: `src/components/field`
|
|
68
|
-
- [outline-field.md](./outline/outline-field.md) — implementation detail when `variant="outline"`
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# `OutlineField`
|
|
2
|
-
|
|
3
|
-
> **Not** registered by `createToife()` — named import: `import { OutlineField } from "@toife/vue"` or register manually: `app.component("t-outline-field", OutlineField)`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Outline field implementation (contenteditable or password `<input>`), used internally by `t-field` when `variant === 'outline'`. Import directly if you need it without the `Field` wrapper.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | --------------------------------------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | Same `FieldProps` / `FieldEmit` as `field.type.ts`. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<script setup lang="ts">
|
|
20
|
-
import { OutlineField } from "@toife/vue";
|
|
21
|
-
</script>
|
|
22
|
-
<template>
|
|
23
|
-
<OutlineField v-model="x" variant="outline" type="text" />
|
|
24
|
-
</template>
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## Props / events
|
|
28
|
-
|
|
29
|
-
Same as `FieldProps` / `FieldEmit` — see [field.md](../field.md) and `field.type.ts`.
|
|
30
|
-
|
|
31
|
-
## Slots
|
|
32
|
-
|
|
33
|
-
| Slot | Description |
|
|
34
|
-
| --------- | ------------------------------------------------------- |
|
|
35
|
-
| `default` | Extra content after help (see `outline.html` template). |
|
|
36
|
-
|
|
37
|
-
## Behavior notes
|
|
38
|
-
|
|
39
|
-
- When `type !== 'password'`: contenteditable region with `v-text` and caret handling.
|
|
40
|
-
- When `password`: native `<input type="password">`.
|
|
41
|
-
|
|
42
|
-
## See also
|
|
43
|
-
|
|
44
|
-
- Source: `src/components/field/outline`
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# `<t-form-group>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Groups controls in a horizontal or vertical flex layout; used by `Action` to stack button rows.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ----- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | None. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-form-group orientation="vertical">
|
|
20
|
-
<t-button>A</t-button>
|
|
21
|
-
<t-button>B</t-button>
|
|
22
|
-
</t-form-group>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Props
|
|
26
|
-
|
|
27
|
-
| Prop | Type | Default | Description |
|
|
28
|
-
| ------------- | ---------------------------- | -------------- | ------------ |
|
|
29
|
-
| `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Layout axis. |
|
|
30
|
-
|
|
31
|
-
**Type source:** `src/components/form-group/form-group.type.ts`
|
|
32
|
-
|
|
33
|
-
## Slots
|
|
34
|
-
|
|
35
|
-
| Slot | Description |
|
|
36
|
-
| --------- | --------------- |
|
|
37
|
-
| `default` | Child controls. |
|
|
38
|
-
|
|
39
|
-
## See also
|
|
40
|
-
|
|
41
|
-
- Source: `src/components/form-group`
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
# `<t-gesture-indicator>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Small visual stroke hint for swipe placement; usually rendered inside `Modal` when swipe-to-dismiss is enabled.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | `t-app` for `role`. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<!-- Rarely used standalone; Modal renders it when gesture + indicator -->
|
|
20
|
-
<t-gesture-indicator placement="bottom" />
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Props
|
|
24
|
-
|
|
25
|
-
| Prop | Type | Default | Description |
|
|
26
|
-
| ----------- | -------- | ---------- | --------------------------------------- |
|
|
27
|
-
| `placement` | `string` | `"bottom"` | Placement class (e.g. `bottom`, `top`). |
|
|
28
|
-
|
|
29
|
-
**Type source:** `src/components/gesture-indicator/gesture-indicator.type.ts`
|
|
30
|
-
|
|
31
|
-
## Events (emits)
|
|
32
|
-
|
|
33
|
-
_None._
|
|
34
|
-
|
|
35
|
-
## Slots
|
|
36
|
-
|
|
37
|
-
_None_ — decorative empty element.
|
|
38
|
-
|
|
39
|
-
## See also
|
|
40
|
-
|
|
41
|
-
- Source: `src/components/gesture-indicator`
|
|
42
|
-
- [modal.md](../../modal/modal.md)
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# `<t-image>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
`<img>` with fallback to `defaultSrc` on load error.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ----- | ----- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Other | None. |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-image src="/a.webp" default-src="/placeholder.png" />
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
## Props
|
|
23
|
-
|
|
24
|
-
| Prop | Type | Default | Description |
|
|
25
|
-
| ------------ | -------- | ------- | -------------------------------------- |
|
|
26
|
-
| `src` | `string` | — | Primary image URL (assigned on mount). |
|
|
27
|
-
| `defaultSrc` | `string` | — | Fallback URL on `@error`. |
|
|
28
|
-
|
|
29
|
-
**Type source:** `src/components/image/image.type.ts`
|
|
30
|
-
|
|
31
|
-
## Events (emits)
|
|
32
|
-
|
|
33
|
-
_None declared_ — internal `@error` handler.
|
|
34
|
-
|
|
35
|
-
## Slots
|
|
36
|
-
|
|
37
|
-
_None._
|
|
38
|
-
|
|
39
|
-
## See also
|
|
40
|
-
|
|
41
|
-
- Source: `src/components/image`
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<div v-bind="cellAttrs"><slot /></div>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# `<t-grid-item>`
|
|
2
|
-
|
|
3
|
-
> Default prefix is `t-` — change via `createToife({ prefix: "..." })`.
|
|
4
|
-
|
|
5
|
-
## Description
|
|
6
|
-
|
|
7
|
-
Cell inside `<t-grid>`. Placement uses `grid-column` / `grid-row` via props or raw CSS strings.
|
|
8
|
-
|
|
9
|
-
## Requirements / dependencies
|
|
10
|
-
|
|
11
|
-
| Item | Notes |
|
|
12
|
-
| ------ | ---------------------------------------------- |
|
|
13
|
-
| Vue | ^3.5 |
|
|
14
|
-
| Parent | `<t-grid>` (or any `display: grid` container). |
|
|
15
|
-
|
|
16
|
-
## Basic usage
|
|
17
|
-
|
|
18
|
-
```vue
|
|
19
|
-
<t-grid :columns="3">
|
|
20
|
-
<t-grid-item :column-span="2">Wide</t-grid-item>
|
|
21
|
-
<t-grid-item>Narrow</t-grid-item>
|
|
22
|
-
</t-grid>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Props
|
|
26
|
-
|
|
27
|
-
| Prop | Type | Description |
|
|
28
|
-
| ------------- | -------- | --------------------------------------------- |
|
|
29
|
-
| `column` | `string` | Raw `grid-column` (overrides span/start/end). |
|
|
30
|
-
| `row` | `string` | Raw `grid-row`. |
|
|
31
|
-
| `columnSpan` | `number` | `span n` on the column axis. |
|
|
32
|
-
| `rowSpan` | `number` | `span n` on the row axis. |
|
|
33
|
-
| `columnStart` | `number` | Grid line start (column). |
|
|
34
|
-
| `columnEnd` | `number` | Grid line end (column). |
|
|
35
|
-
| `rowStart` | `number` | Grid line start (row). |
|
|
36
|
-
| `rowEnd` | `number` | Grid line end (row). |
|
|
37
|
-
|
|
38
|
-
## Slots
|
|
39
|
-
|
|
40
|
-
| Slot | Description |
|
|
41
|
-
| --------- | ------------- |
|
|
42
|
-
| `default` | Cell content. |
|
|
43
|
-
|
|
44
|
-
## See also
|
|
45
|
-
|
|
46
|
-
- Source: `src/components/grid/grid-item`
|
|
47
|
-
- `<t-grid>`
|