@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.
Files changed (112) hide show
  1. package/package.json +1 -1
  2. package/src/components/action/action.html +1 -1
  3. package/src/components/app/app.type.ts +6 -0
  4. package/src/components/app/app.vue +7 -1
  5. package/src/components/avatar/avatar.scss +3 -2
  6. package/src/components/button/button.scss +9 -6
  7. package/src/components/button/button.type.ts +3 -1
  8. package/src/components/card/card/card.scss +3 -1
  9. package/src/components/checkbox/checkbox.scss +9 -14
  10. package/src/components/checkbox/checkbox.type.ts +4 -0
  11. package/src/components/checkbox/checkbox.vue +2 -0
  12. package/src/components/decision-modal/decision-modal.scss +3 -1
  13. package/src/components/divider/divider.type.ts +2 -2
  14. package/src/components/divider/divider.vue +2 -2
  15. package/src/components/divider/index.ts +1 -1
  16. package/src/components/dropdown/dropdown.scss +5 -2
  17. package/src/components/dropdown/dropdown.type.ts +4 -1
  18. package/src/components/dropdown/dropdown.vue +4 -0
  19. package/src/components/field/field.type.ts +2 -2
  20. package/src/components/field/outline/outline.scss +9 -8
  21. package/src/components/form-group/form-group.type.ts +2 -2
  22. package/src/components/form-group/form-group.vue +2 -2
  23. package/src/components/gesture-indicator/gesture-indicator.scss +3 -1
  24. package/src/components/index.ts +1 -0
  25. package/src/components/layout/flex/flex.scss +0 -2
  26. package/src/components/layout/flex/flex.type.ts +3 -1
  27. package/src/components/layout/flex-item/flex-item.html +1 -0
  28. package/src/components/layout/flex-item/flex-item.scss +48 -0
  29. package/src/components/layout/flex-item/flex-item.type.ts +11 -0
  30. package/src/components/layout/flex-item/flex-item.vue +27 -0
  31. package/src/components/layout/flex-item/index.ts +2 -0
  32. package/src/components/layout/grid/grid.scss +0 -2
  33. package/src/components/layout/grid/grid.type.ts +1 -1
  34. package/src/components/layout/grid-item/grid-item.html +1 -0
  35. package/src/components/layout/grid-item/grid-item.scss +49 -0
  36. package/src/components/layout/grid-item/grid-item.type.ts +14 -0
  37. package/src/components/layout/grid-item/grid-item.vue +27 -0
  38. package/src/components/layout/grid-item/index.ts +2 -0
  39. package/src/components/layout/index.ts +2 -1
  40. package/src/components/modal/modal.scss +3 -1
  41. package/src/components/radio/radio/radio.scss +7 -5
  42. package/src/components/radio/radio/radio.type.ts +4 -0
  43. package/src/components/radio/radio/radio.vue +2 -0
  44. package/src/components/radio/radio-group/index.ts +1 -1
  45. package/src/components/radio/radio-group/radio-group.type.ts +2 -2
  46. package/src/components/radio/radio-group/radio-group.vue +2 -2
  47. package/src/components/refresher/refresher.html +4 -4
  48. package/src/components/refresher/refresher.scss +10 -4
  49. package/src/components/refresher/refresher.vue +3 -3
  50. package/src/components/skeleton/skeleton.scss +3 -1
  51. package/src/components/slide-range/index.ts +2 -0
  52. package/src/components/slide-range/slide-range.html +20 -0
  53. package/src/components/slide-range/slide-range.scss +161 -0
  54. package/src/components/slide-range/slide-range.type.ts +16 -0
  55. package/src/components/slide-range/slide-range.vue +229 -0
  56. package/src/components/switch/switch.scss +11 -22
  57. package/src/components/switch/switch.type.ts +5 -0
  58. package/src/components/switch/switch.vue +2 -0
  59. package/src/components/tabs/tabs/tabs.scss +135 -95
  60. package/src/components/tabs/tabs/tabs.type.ts +0 -1
  61. package/src/components/tabs/tabs/tabs.vue +6 -10
  62. package/src/components/toast/toast-content/toast-content.scss +3 -2
  63. package/src/components/toolbar/toolbar.html +1 -3
  64. package/src/components/toolbar/toolbar.scss +25 -40
  65. package/src/components/toolbar/toolbar.type.ts +2 -2
  66. package/src/components/toolbar/toolbar.vue +6 -6
  67. package/src/factory.ts +6 -2
  68. package/src/index.ts +1 -1
  69. package/src/components/action/action.md +0 -115
  70. package/src/components/app/app.md +0 -77
  71. package/src/components/avatar/avatar.md +0 -64
  72. package/src/components/button/button.md +0 -66
  73. package/src/components/cable/cable.md +0 -57
  74. package/src/components/card/card/card.md +0 -57
  75. package/src/components/card/card-body/card-body.md +0 -34
  76. package/src/components/card/card-footer/card-footer.md +0 -42
  77. package/src/components/card/card-header/card-header.md +0 -44
  78. package/src/components/checkbox/checkbox.md +0 -60
  79. package/src/components/collapse/collapse.md +0 -59
  80. package/src/components/container/container.md +0 -38
  81. package/src/components/decision-modal/decision-modal.md +0 -79
  82. package/src/components/divider/divider.md +0 -42
  83. package/src/components/field/field.md +0 -68
  84. package/src/components/field/outline/outline-field.md +0 -44
  85. package/src/components/form-group/form-group.md +0 -41
  86. package/src/components/gesture-indicator/gesture-indicator.md +0 -42
  87. package/src/components/image/image.md +0 -41
  88. package/src/components/layout/cell/cell.html +0 -1
  89. package/src/components/layout/cell/cell.md +0 -47
  90. package/src/components/layout/cell/cell.scss +0 -54
  91. package/src/components/layout/cell/cell.type.ts +0 -19
  92. package/src/components/layout/cell/cell.vue +0 -35
  93. package/src/components/layout/cell/index.ts +0 -2
  94. package/src/components/layout/grid/grid.md +0 -50
  95. package/src/components/modal/modal.md +0 -65
  96. package/src/components/page/page.md +0 -39
  97. package/src/components/present/present.md +0 -60
  98. package/src/components/radio/radio/radio.md +0 -53
  99. package/src/components/radio/radio-group/radio-group.md +0 -62
  100. package/src/components/refresher/refresher.md +0 -53
  101. package/src/components/route/route-navigator/route-navigator.md +0 -50
  102. package/src/components/route/route-outlet/route-outlet.md +0 -30
  103. package/src/components/route/route-provider/route-provider.md +0 -46
  104. package/src/components/route/route-wrapper/route-wrapper.md +0 -45
  105. package/src/components/segmented-field/segmented-field.md +0 -58
  106. package/src/components/skeleton/skeleton.md +0 -47
  107. package/src/components/switch/switch.md +0 -57
  108. package/src/components/tabs/tab/tab.md +0 -52
  109. package/src/components/tabs/tabs/tabs.md +0 -59
  110. package/src/components/toast/toast/toast.md +0 -56
  111. package/src/components/toast/toast-content/toast-content.md +0 -41
  112. 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>`