@reni-corp/reni-2c-ui 0.4.10 → 0.4.12

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 (90) hide show
  1. package/dist/components/elements/Callout.vue.d.ts +47 -0
  2. package/dist/components/elements/Callout.vue.d.ts.map +1 -0
  3. package/dist/components/elements/CheckBox.vue.d.ts.map +1 -1
  4. package/dist/components/elements/ComboBox.vue.d.ts +3 -3
  5. package/dist/components/elements/ComboBox.vue.d.ts.map +1 -1
  6. package/dist/components/elements/Icon.vue.d.ts +2 -2
  7. package/dist/components/elements/Icon.vue.d.ts.map +1 -1
  8. package/dist/components/elements/Image.vue.d.ts +2 -2
  9. package/dist/components/elements/Image.vue.d.ts.map +1 -1
  10. package/dist/components/elements/Label.vue.d.ts +2 -2
  11. package/dist/components/elements/Label.vue.d.ts.map +1 -1
  12. package/dist/components/elements/Pagination.vue.d.ts.map +1 -1
  13. package/dist/components/elements/SelectBox.vue.d.ts +1 -1
  14. package/dist/components/elements/SelectBox.vue.d.ts.map +1 -1
  15. package/dist/components/elements/SpinButton.vue.d.ts.map +1 -1
  16. package/dist/components/elements/Switch.vue.d.ts +19 -0
  17. package/dist/components/elements/Switch.vue.d.ts.map +1 -0
  18. package/dist/components/elements/Text.vue.d.ts +1 -1
  19. package/dist/components/elements/Text.vue.d.ts.map +1 -1
  20. package/dist/components/elements/TextArea.vue.d.ts +35 -0
  21. package/dist/components/elements/TextArea.vue.d.ts.map +1 -0
  22. package/dist/components/elements/TextField.vue.d.ts +1 -1
  23. package/dist/components/elements/TextField.vue.d.ts.map +1 -1
  24. package/dist/components/elements/ToolChip.vue.d.ts +1 -1
  25. package/dist/components/elements/ToolChip.vue.d.ts.map +1 -1
  26. package/dist/components/features/CategoryBanner.vue.d.ts +1 -1
  27. package/dist/components/features/CategoryBanner.vue.d.ts.map +1 -1
  28. package/dist/components/features/ImageGrid.vue.d.ts +1 -1
  29. package/dist/components/features/ImageGrid.vue.d.ts.map +1 -1
  30. package/dist/components/features/ProductList.vue.d.ts +3 -0
  31. package/dist/components/features/ProductList.vue.d.ts.map +1 -1
  32. package/dist/components/features/ProductListItem.vue.d.ts +21 -1
  33. package/dist/components/features/ProductListItem.vue.d.ts.map +1 -1
  34. package/dist/components/features/ProductPurchase.vue.d.ts +1 -1
  35. package/dist/components/features/SnsLink.vue.d.ts +1 -1
  36. package/dist/components/features/SnsLink.vue.d.ts.map +1 -1
  37. package/dist/components/foundation/AppBar.vue.d.ts +10 -1
  38. package/dist/components/foundation/AppBar.vue.d.ts.map +1 -1
  39. package/dist/components/foundation/AppBottomBar.vue.d.ts +23 -0
  40. package/dist/components/foundation/AppBottomBar.vue.d.ts.map +1 -0
  41. package/dist/components/foundation/AppFooter.vue.d.ts +1 -1
  42. package/dist/components/foundation/AppFooter.vue.d.ts.map +1 -1
  43. package/dist/components/interactive/Disclosure.vue.d.ts +4 -4
  44. package/dist/components/interactive/Disclosure.vue.d.ts.map +1 -1
  45. package/dist/components/interactive/Tab.vue.d.ts +2 -2
  46. package/dist/components/interactive/Tab.vue.d.ts.map +1 -1
  47. package/dist/components/layouts/List.vue.d.ts +1 -1
  48. package/dist/components/layouts/List.vue.d.ts.map +1 -1
  49. package/dist/components/renderless/ItemFilter.vue.d.ts +1 -1
  50. package/dist/components/renderless/ItemFilter.vue.d.ts.map +1 -1
  51. package/dist/index.d.ts +12 -3
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.es.js +7537 -10611
  54. package/dist/placeholder-1200x400.svg +4 -0
  55. package/dist/placeholder-1200x600.svg +4 -0
  56. package/dist/placeholder-400x400.svg +4 -0
  57. package/dist/placeholder-600x600.svg +4 -0
  58. package/dist/placeholder-800x450.svg +4 -0
  59. package/dist/placeholder-800x600.svg +4 -0
  60. package/dist/script.es.js +8009 -11085
  61. package/dist/script.umd.js +20 -588
  62. package/dist/style.css +1 -1
  63. package/dist/utils.d.ts.map +1 -1
  64. package/package.json +10 -10
  65. package/src/stories/AppBar.stories.ts +8 -8
  66. package/src/stories/AppBottomBar.stories.ts +443 -0
  67. package/src/stories/AppLayout.stories.ts +17 -27
  68. package/src/stories/Banner.stories.ts +5 -5
  69. package/src/stories/Callout.stories.ts +286 -0
  70. package/src/stories/Card.stories.ts +5 -5
  71. package/src/stories/ComboBox.stories.ts +1 -1
  72. package/src/stories/Disclosure.stories.ts +1 -1
  73. package/src/stories/Drawer.stories.ts +2 -2
  74. package/src/stories/Hero.stories.ts +5 -5
  75. package/src/stories/Icon.stories.ts +10 -88
  76. package/src/stories/Image.stories.ts +5 -1
  77. package/src/stories/ItemFilter.stories.ts +2 -2
  78. package/src/stories/Label.stories.ts +2 -1
  79. package/src/stories/List.stories.ts +4 -4
  80. package/src/stories/Modal.stories.ts +3 -3
  81. package/src/stories/ProductList.stories.ts +72 -6
  82. package/src/stories/ProductPurchase.stories.ts +3 -3
  83. package/src/stories/Tab.stories.ts +1 -1
  84. package/src/stories/TabGroup.stories.ts +5 -5
  85. package/src/stories/Tabs.stories.ts +13 -4
  86. package/src/stories/compositions/DomainMixedHome.stories.ts +217 -0
  87. package/src/stories/compositions/EventPage.stories.ts +2 -2
  88. package/src/stories/compositions/TicketPage.stories.ts +300 -0
  89. package/src/stories/compositions/TopPage.stories.ts +8 -8
  90. package/src/stories/SnsLink.stories.ts +0 -259
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reni-corp/reni-2c-ui",
3
- "version": "0.4.10",
3
+ "version": "0.4.12",
4
4
  "type": "module",
5
5
  "main": "./dist/script.umd.js",
6
6
  "module": "./dist/index.es.js",
@@ -15,6 +15,10 @@
15
15
  "types": "./dist/valueObjects.d.ts",
16
16
  "import": "./dist/valueObjects.es.js"
17
17
  },
18
+ "./composables": {
19
+ "types": "./dist/composables.d.ts",
20
+ "import": "./dist/composables.es.js"
21
+ },
18
22
  "./constants": {
19
23
  "types": "./dist/constants.d.ts",
20
24
  "import": "./dist/constants.es.js"
@@ -51,17 +55,13 @@
51
55
  "typecheck": "tsc --noEmit --skipLibCheck",
52
56
  "test": "vitest run",
53
57
  "test:watch": "vitest",
54
- "test:vrt": "playwright test --config playwright.config.ts"
58
+ "test:vrt": "playwright test --config playwright.config.ts",
59
+ "test:vrt:update": "playwright test --config playwright.config.ts --update-snapshots",
60
+ "test:vrt:docker": "docker run --rm -v $(pwd):/work -w /work mcr.microsoft.com/playwright:v1.58.2-noble npx playwright test --config playwright.config.ts",
61
+ "test:vrt:docker:update": "docker run --rm -v $(pwd):/work -w /work mcr.microsoft.com/playwright:v1.58.2-noble npx playwright test --config playwright.config.ts --update-snapshots"
55
62
  },
56
63
  "dependencies": {
57
- "@awesome.me/kit-37f9c6ad08": "^1.0.24",
58
- "@fortawesome/fontawesome-svg-core": "^6.7.2",
59
- "@fortawesome/free-brands-svg-icons": "^6.4.2",
60
- "@fortawesome/free-regular-svg-icons": "^6.4.2",
61
- "@fortawesome/free-solid-svg-icons": "^6.7.2",
62
- "@fortawesome/pro-regular-svg-icons": "^6.7.2",
63
- "@fortawesome/vue-fontawesome": "^3.0.8",
64
- "@reni-corp/mani-editor": "^0.1.6",
64
+ "@reni-corp/reni-icon": "1.0.6",
65
65
  "@vee-validate/i18n": "^4.15.1",
66
66
  "@vee-validate/rules": "^4.11.3",
67
67
  "@vueuse/components": "^10.5.0",
@@ -75,11 +75,11 @@ const sampleMenu: AppBarMenuItem[] = [
75
75
  const sampleActions: AppBarAction[] = [
76
76
  {
77
77
  title: '検索',
78
- icon: ['far', 'magnifying-glass'],
78
+ icon: 'magnifying-glass-outline',
79
79
  action: () => alert('検索'),
80
80
  },
81
- { title: 'アカウント', icon: ['far', 'user'], url: '/account' },
82
- { title: 'カート', icon: ['far', 'cart-shopping'], url: '/cart' },
81
+ { title: 'アカウント', icon: 'user-outline', url: '/account' },
82
+ { title: 'カート', icon: 'cart-shopping-outline', url: '/cart' },
83
83
  ]
84
84
 
85
85
  // ★ Defaultを最初に配置(autodocsのPrimary storyになる)
@@ -166,9 +166,9 @@ export const Slotカスタマイズ: OverridesStory = {
166
166
  </rn-stack>
167
167
  </template>
168
168
  <template #actions>
169
- <rn-icon :icon="['far', 'magnifying-glass']" />
170
- <rn-icon :icon="['far', 'user']" />
171
- <rn-icon :icon="['far', 'cart-shopping']" />
169
+ <rn-icon icon="magnifying-glass-outline" />
170
+ <rn-icon icon="user-outline" />
171
+ <rn-icon icon="cart-shopping-outline" />
172
172
  </template>
173
173
  </rn-app-bar>
174
174
  </div>
@@ -194,10 +194,10 @@ export const Slotのみ: OverridesStory = {
194
194
  </p>
195
195
  <rn-app-bar v-bind="args">
196
196
  <template #title>
197
- <rn-icon :icon="['far', 'bars']" />
197
+ <rn-icon icon="bars-outline" />
198
198
  </template>
199
199
  <template #actions>
200
- <rn-icon icon="bell" />
200
+ <rn-icon icon="ellipsis-vertical-outline" />
201
201
  </template>
202
202
  </rn-app-bar>
203
203
  </div>
@@ -0,0 +1,443 @@
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
+ import AppBottomBar, {
3
+ type AppBottomBarProps,
4
+ } from '@/components/foundation/AppBottomBar.vue'
5
+ import AppBar from '@/components/foundation/AppBar.vue'
6
+ import AppBody from '@/components/foundation/AppBody.vue'
7
+ import AppFrame from '@/components/foundation/AppFrame.vue'
8
+ import AnnounceBar from '@/components/features/AnnounceBar.vue'
9
+ import Button from '@/components/elements/Button.vue'
10
+ import Tabs from '@/components/interactive/Tabs.vue'
11
+ import Tab from '@/components/interactive/Tab.vue'
12
+ import { ref } from 'vue'
13
+
14
+ const meta: Meta<typeof AppBottomBar> = {
15
+ title: 'Foundation/AppBottomBar',
16
+ component: AppBottomBar,
17
+ tags: ['autodocs'],
18
+ argTypes: {
19
+ flat: {
20
+ control: 'boolean',
21
+ description: 'true でボーダー・影なし',
22
+ },
23
+ },
24
+ args: {
25
+ flat: false,
26
+ },
27
+ parameters: {
28
+ docs: {
29
+ description: {
30
+ component: `
31
+ 画面下端に固定される sticky スタック領域。\`AppFrame\` の末尾に配置し、\`position: sticky; bottom: 0\` でビューポート下端に固定されます。
32
+
33
+ 中身は **任意の数のレイヤーを縦に積める Stack 構造**(\`display: flex; flex-direction: column;\`)として動作します。タブ単独はもちろん、CTA・AnnounceBar など複数のレイヤーを同居させる場合も、子要素を並べるだけで上下に積み上がります。
34
+
35
+ ## 基本的な使い方(単独)
36
+
37
+ \`\`\`html
38
+ <rn-app-frame>
39
+ <rn-app-bar title="ストア名" />
40
+ <rn-app-body><!-- コンテンツ --></rn-app-body>
41
+ <rn-app-bottom-bar>
42
+ <rn-tabs variant="icon">
43
+ <rn-tab icon="home-outline" label="ホーム" :active="true" />
44
+ <rn-tab icon="bars-outline" label="カテゴリ" />
45
+ <rn-tab icon="star-outline" label="お気に入り" />
46
+ <rn-tab icon="user-outline" label="マイページ" />
47
+ </rn-tabs>
48
+ </rn-app-bottom-bar>
49
+ </rn-app-frame>
50
+ \`\`\`
51
+
52
+ ## 複数レイヤーを Stack する
53
+
54
+ \`\`\`html
55
+ <rn-app-bottom-bar>
56
+ <rn-announce-bar v-if="announce" title="お知らせ" />
57
+ <PriceCta v-if="hasCta" :price="3000" />
58
+ <rn-tabs>...</rn-tabs>
59
+ </rn-app-bottom-bar>
60
+ \`\`\`
61
+
62
+ - 子要素の DOM 順がそのまま表示順
63
+ - 各レイヤーの表示・非表示は子の \`v-if\` で制御
64
+ - 境界線・余白は各レイヤー側の責務(AppBottomBar は外側 chrome と safe-area のみ担当)
65
+
66
+ ## Props
67
+ - \`flat\`: 外側のボーダー・影を非表示にする(AppBar と同じ概念)
68
+
69
+ ## 備考
70
+ - 子要素間に divider が必要な場合は、子コンポーネント側で \`border-top\` 等を持たせる
71
+ - iOS セーフエリア(ホームインジケーター領域)を \`env(safe-area-inset-bottom)\` で自動吸収
72
+ - ページごとに変わる中身(CTA 等)は \`<Teleport>\` でレイアウト内に差し込むパターンを推奨
73
+ `,
74
+ },
75
+ },
76
+ },
77
+ }
78
+
79
+ export default meta
80
+ type StoryArgs = AppBottomBarProps
81
+ type Story = StoryObj<StoryArgs>
82
+ type OverridesStory = Omit<Story, 'argTypes'> & {
83
+ argTypes?: Record<string, unknown>
84
+ }
85
+
86
+ const tabItems = [
87
+ { icon: 'home-outline', label: 'ホーム' },
88
+ { icon: 'bars-outline', label: 'カテゴリ' },
89
+ { icon: 'star-outline', label: 'お気に入り' },
90
+ { icon: 'user-outline', label: 'マイページ' },
91
+ ]
92
+
93
+ export const 基本: OverridesStory = {
94
+ args: {},
95
+ argTypes: {},
96
+ parameters: {
97
+ layout: 'fullscreen',
98
+ },
99
+ render: (args) => ({
100
+ components: {
101
+ 'rn-app-frame': AppFrame,
102
+ 'rn-app-bar': AppBar,
103
+ 'rn-app-body': AppBody,
104
+ 'rn-app-bottom-bar': AppBottomBar,
105
+ 'rn-tabs': Tabs,
106
+ 'rn-tab': Tab,
107
+ },
108
+ setup() {
109
+ const current = ref(0)
110
+ const tabs = tabItems
111
+ return { args, current, tabs }
112
+ },
113
+ template: /* html */ `
114
+ <rn-app-frame>
115
+ <rn-app-bar title="ストア名" />
116
+ <rn-app-body>
117
+ <div style="display: flex; flex-direction: column; gap: 16px;">
118
+ <p>コンテンツエリア。スクロールしてもボトムバーが下端に固定されます。</p>
119
+ <div
120
+ v-for="i in 10"
121
+ :key="i"
122
+ style="height: 80px; background: var(--rn-bg-surface); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--rn-text-tertiary);"
123
+ >
124
+ コンテンツ {{ i }}
125
+ </div>
126
+ </div>
127
+ </rn-app-body>
128
+ <rn-app-bottom-bar v-bind="args">
129
+ <rn-tabs variant="icon" :isStretched="true">
130
+ <rn-tab
131
+ v-for="(tab, index) in tabs"
132
+ :key="index"
133
+ :icon="tab.icon"
134
+ :label="tab.label"
135
+ :active="current === index"
136
+ @click="current = index"
137
+ />
138
+ </rn-tabs>
139
+ </rn-app-bottom-bar>
140
+ </rn-app-frame>
141
+ `,
142
+ }),
143
+ }
144
+
145
+ export const CTAとタブをStackする: OverridesStory = {
146
+ args: {},
147
+ argTypes: {},
148
+ parameters: {
149
+ layout: 'fullscreen',
150
+ docs: {
151
+ description: {
152
+ story: `
153
+ ページ固有の主アクション(CTA)とグローバルタブを 1 つの \`AppBottomBar\` に積むパターン。整理券ページや商品詳細ページなど、購買・申し込み導線をタブと併存させる典型構成。
154
+
155
+ \`\`\`vue
156
+ <rn-app-bottom-bar>
157
+ <div style="padding: 12px 16px;">
158
+ <rn-button block color="dark">発行手続きを行う</rn-button>
159
+ </div>
160
+ <rn-tabs variant="icon" :isStretched="true">
161
+ <rn-tab icon="home-outline" label="ホーム" />
162
+ <rn-tab icon="clipboard-outline" label="オーダーシート" />
163
+ <rn-tab icon="tag-outline" label="整理券" :active="true" />
164
+ </rn-tabs>
165
+ </rn-app-bottom-bar>
166
+ \`\`\`
167
+
168
+ - CTA とタブの間に divider は置かず、AppBottomBar 外側の border-top と各レイヤーの padding で視覚的分離する
169
+ - CTA の左右余白は CTA 側(外側の div)の責務。AppBottomBar 自体は padding を持たない
170
+ - フルページの構成例は \`Example/整理券ページ\` を参照
171
+ `,
172
+ },
173
+ },
174
+ },
175
+ render: (args) => ({
176
+ components: {
177
+ 'rn-app-frame': AppFrame,
178
+ 'rn-app-bar': AppBar,
179
+ 'rn-app-body': AppBody,
180
+ 'rn-app-bottom-bar': AppBottomBar,
181
+ 'rn-button': Button,
182
+ 'rn-tabs': Tabs,
183
+ 'rn-tab': Tab,
184
+ },
185
+ setup() {
186
+ return { args }
187
+ },
188
+ template: /* html */ `
189
+ <rn-app-frame>
190
+ <rn-app-bar title="KIRITO OFFICIAL GOODS STORE" />
191
+ <rn-app-body>
192
+ <div style="display: flex; flex-direction: column; gap: 16px;">
193
+ <p>ページ本体。下端には CTA(発行手続きを行う)とタブが Stack されています。</p>
194
+ <div
195
+ v-for="i in 4"
196
+ :key="i"
197
+ style="height: 80px; background: var(--rn-bg-surface); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--rn-text-tertiary);"
198
+ >
199
+ コンテンツ {{ i }}
200
+ </div>
201
+ </div>
202
+ </rn-app-body>
203
+ <rn-app-bottom-bar>
204
+ <div style="padding: 12px 16px;">
205
+ <rn-button block color="dark">発行手続きを行う</rn-button>
206
+ </div>
207
+ <rn-tabs variant="icon" :isStretched="true">
208
+ <rn-tab icon="home-outline" label="ホーム" />
209
+ <rn-tab icon="clipboard-outline" label="オーダーシート" />
210
+ <rn-tab icon="tag-outline" label="整理券" :active="true" />
211
+ </rn-tabs>
212
+ </rn-app-bottom-bar>
213
+ </rn-app-frame>
214
+ `,
215
+ }),
216
+ }
217
+
218
+ export const 複数レイヤーをStackする: OverridesStory = {
219
+ args: {},
220
+ argTypes: {},
221
+ parameters: {
222
+ layout: 'fullscreen',
223
+ docs: {
224
+ description: {
225
+ story: `
226
+ \`AppBottomBar\` は \`display: flex; flex-direction: column;\` で Stack 構造として動作するため、複数のレイヤーを子要素として並べるだけで上下に積み上がります。
227
+
228
+ \`\`\`vue
229
+ <rn-app-bottom-bar>
230
+ <rn-announce-bar v-if="announce" title="お知らせ" />
231
+ <PriceCta :price="3000" />
232
+ <rn-tabs>...</rn-tabs>
233
+ </rn-app-bottom-bar>
234
+ \`\`\`
235
+
236
+ - 子要素の DOM 順 = 表示順(上から AnnounceBar → CTA → Tabs)
237
+ - 各レイヤーの表示・非表示は \`v-if\` で素直に制御
238
+ - sticky の責務は AppBottomBar が一括で持つため、Stack 内部のレイヤー同士で位置調整は不要
239
+ - 境界線・余白は各レイヤー側(AnnounceBar の背景色、Tabs 自身の divider など)の責務
240
+ `,
241
+ },
242
+ },
243
+ },
244
+ render: (args) => ({
245
+ components: {
246
+ 'rn-app-frame': AppFrame,
247
+ 'rn-app-bar': AppBar,
248
+ 'rn-app-body': AppBody,
249
+ 'rn-app-bottom-bar': AppBottomBar,
250
+ 'rn-announce-bar': AnnounceBar,
251
+ 'rn-button': Button,
252
+ 'rn-tabs': Tabs,
253
+ 'rn-tab': Tab,
254
+ },
255
+ setup() {
256
+ const current = ref(0)
257
+ const tabs = tabItems
258
+ return { args, current, tabs }
259
+ },
260
+ template: /* html */ `
261
+ <rn-app-frame>
262
+ <rn-app-bar title="ストア名" />
263
+ <rn-app-body>
264
+ <div style="display: flex; flex-direction: column; gap: 16px;">
265
+ <p>AnnounceBar・CTA・Tabs の 3 レイヤーを 1 つの AppBottomBar に Stack しています。</p>
266
+ <div
267
+ v-for="i in 4"
268
+ :key="i"
269
+ style="height: 80px; background: var(--rn-bg-surface); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--rn-text-tertiary);"
270
+ >
271
+ 商品コンテンツ {{ i }}
272
+ </div>
273
+ </div>
274
+ </rn-app-body>
275
+ <rn-app-bottom-bar>
276
+ <rn-announce-bar title="期間限定キャンペーン開催中" color="warning" />
277
+ <div style="display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; gap: 12px; border-top: 1px solid var(--rn-line-default);">
278
+ <div style="display: flex; flex-direction: column; line-height: 1.2;">
279
+ <span style="font-size: 12px; color: var(--rn-text-tertiary);">価格</span>
280
+ <span style="font-size: 18px; font-weight: bold;">¥3,000</span>
281
+ </div>
282
+ <rn-button>カートに追加</rn-button>
283
+ </div>
284
+ <rn-tabs variant="icon" :isStretched="true">
285
+ <rn-tab
286
+ v-for="(tab, index) in tabs"
287
+ :key="index"
288
+ :icon="tab.icon"
289
+ :label="tab.label"
290
+ :active="current === index"
291
+ @click="current = index"
292
+ />
293
+ </rn-tabs>
294
+ </rn-app-bottom-bar>
295
+ </rn-app-frame>
296
+ `,
297
+ }),
298
+ }
299
+
300
+ export const ページCTAをTeleportで差し込む: OverridesStory = {
301
+ args: {},
302
+ argTypes: {},
303
+ parameters: {
304
+ layout: 'fullscreen',
305
+ docs: {
306
+ description: {
307
+ story: `
308
+ ページごとに変わる CTA は、レイアウト側の \`AppBottomBar\` 内に差し込み口を置き、ページから \`<Teleport>\` で注入するパターンを推奨します。Stack 構造になっているため、タブと共存させる場合でも 1 つの \`AppBottomBar\` の中に並ぶだけで sticky の重なり問題は発生しません。
309
+
310
+ \`\`\`vue
311
+ <!-- レイアウト側 -->
312
+ <rn-app-frame>
313
+ <rn-app-bar />
314
+ <rn-app-body><slot /></rn-app-body>
315
+ <rn-app-bottom-bar>
316
+ <div id="page-cta-outlet"></div> <!-- ページCTA 差し込み口 -->
317
+ <rn-tabs>...</rn-tabs> <!-- グローバルタブ -->
318
+ </rn-app-bottom-bar>
319
+ </rn-app-frame>
320
+
321
+ <!-- ページ側 -->
322
+ <Teleport defer to="#page-cta-outlet">
323
+ <!-- 価格・CTA など、ページ固有の中身 -->
324
+ </Teleport>
325
+ \`\`\`
326
+
327
+ - \`<Teleport defer>\` は Vue 3.5+ の機能。outlet が後に描画される場合の mount 順問題を吸収する
328
+ - ライブラリ側に追加 API は不要(既存 slot に差し込むだけ)
329
+ - ページに CTA が無い場合は \`<Teleport>\` を書かないだけ
330
+ - 商品詳細など購買フォーカス画面では、タブを表示せず CTA だけ差し込む運用も可能
331
+ `,
332
+ },
333
+ },
334
+ },
335
+ render: (args) => ({
336
+ components: {
337
+ 'rn-app-frame': AppFrame,
338
+ 'rn-app-bar': AppBar,
339
+ 'rn-app-body': AppBody,
340
+ 'rn-app-bottom-bar': AppBottomBar,
341
+ 'rn-button': Button,
342
+ 'rn-tabs': Tabs,
343
+ 'rn-tab': Tab,
344
+ 'product-page': {
345
+ components: {
346
+ 'rn-button': Button,
347
+ },
348
+ template: /* html */ `
349
+ <div style="display: flex; flex-direction: column; gap: 16px;">
350
+ <p>商品詳細ページ。価格+CTA を Teleport で AppBottomBar の差し込み口に投入しています。</p>
351
+ <div
352
+ v-for="i in 4"
353
+ :key="i"
354
+ style="height: 80px; background: var(--rn-bg-surface); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--rn-text-tertiary);"
355
+ >
356
+ 商品コンテンツ {{ i }}
357
+ </div>
358
+ </div>
359
+ <teleport defer to="#page-cta-outlet">
360
+ <div style="display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; gap: 12px;">
361
+ <div style="display: flex; flex-direction: column; line-height: 1.2;">
362
+ <span style="font-size: 12px; color: var(--rn-text-tertiary);">価格</span>
363
+ <span style="font-size: 18px; font-weight: bold;">¥3,000</span>
364
+ </div>
365
+ <rn-button>カートに追加</rn-button>
366
+ </div>
367
+ </teleport>
368
+ `,
369
+ },
370
+ },
371
+ setup() {
372
+ const current = ref(0)
373
+ const tabs = tabItems
374
+ return { args, current, tabs }
375
+ },
376
+ template: /* html */ `
377
+ <rn-app-frame>
378
+ <rn-app-bar title="ストア名" />
379
+ <rn-app-body>
380
+ <product-page />
381
+ </rn-app-body>
382
+ <rn-app-bottom-bar>
383
+ <div id="page-cta-outlet" style="border-top: 1px solid var(--rn-line-default);"></div>
384
+ <rn-tabs variant="icon" :isStretched="true">
385
+ <rn-tab
386
+ v-for="(tab, index) in tabs"
387
+ :key="index"
388
+ :icon="tab.icon"
389
+ :label="tab.label"
390
+ :active="current === index"
391
+ @click="current = index"
392
+ />
393
+ </rn-tabs>
394
+ </rn-app-bottom-bar>
395
+ </rn-app-frame>
396
+ `,
397
+ }),
398
+ }
399
+
400
+ export const Flat: OverridesStory = {
401
+ args: {
402
+ flat: true,
403
+ },
404
+ argTypes: {},
405
+ parameters: {
406
+ layout: 'fullscreen',
407
+ },
408
+ render: (args) => ({
409
+ components: {
410
+ 'rn-app-frame': AppFrame,
411
+ 'rn-app-bar': AppBar,
412
+ 'rn-app-body': AppBody,
413
+ 'rn-app-bottom-bar': AppBottomBar,
414
+ 'rn-tabs': Tabs,
415
+ 'rn-tab': Tab,
416
+ },
417
+ setup() {
418
+ const current = ref(0)
419
+ const tabs = tabItems
420
+ return { args, current, tabs }
421
+ },
422
+ template: /* html */ `
423
+ <rn-app-frame>
424
+ <rn-app-bar title="ストア名" :flat="true" />
425
+ <rn-app-body>
426
+ <p>flat モード。ボーダー・影なし。AppBar の flat と組み合わせて使います。</p>
427
+ </rn-app-body>
428
+ <rn-app-bottom-bar v-bind="args">
429
+ <rn-tabs variant="icon" :isStretched="true">
430
+ <rn-tab
431
+ v-for="(tab, index) in tabs"
432
+ :key="index"
433
+ :icon="tab.icon"
434
+ :label="tab.label"
435
+ :active="current === index"
436
+ @click="current = index"
437
+ />
438
+ </rn-tabs>
439
+ </rn-app-bottom-bar>
440
+ </rn-app-frame>
441
+ `,
442
+ }),
443
+ }
@@ -29,6 +29,7 @@ import Image from '@/components/elements/Image.vue'
29
29
  import Spinner from '@/components/elements/Spinner.vue'
30
30
  import Card from '@/components/layouts/Card.vue'
31
31
  import Alert from '@/components/elements/Alert.vue'
32
+ import Callout from '@/components/elements/Callout.vue'
32
33
 
33
34
  const meta: Meta<typeof AppFrame> = {
34
35
  title: 'Example/配送通販',
@@ -83,11 +84,11 @@ const mockAppBarMenu: AppBarMenuItem[] = [
83
84
  const mockAppBarActions: AppBarAction[] = [
84
85
  {
85
86
  title: '検索',
86
- icon: ['far', 'magnifying-glass'],
87
+ icon: 'magnifying-glass-outline',
87
88
  action: () => console.log('検索'),
88
89
  },
89
- { title: 'アカウント', icon: ['far', 'user'], url: '/account' },
90
- { title: 'カート', icon: ['far', 'cart-shopping'], url: '/cart' },
90
+ { title: 'アカウント', icon: 'user-outline', url: '/account' },
91
+ { title: 'カート', icon: 'cart-shopping-outline', url: '/cart' },
91
92
  ]
92
93
 
93
94
  // AppFooter用データ
@@ -396,9 +397,9 @@ export const Slotカスタマイズ版: Story = {
396
397
  </rn-stack>
397
398
  </template>
398
399
  <template #actions>
399
- <rn-icon :icon="['far', 'magnifying-glass']" />
400
- <rn-icon :icon="['far', 'user']" />
401
- <rn-icon :icon="['far', 'cart-shopping']" />
400
+ <rn-icon icon="magnifying-glass-outline" />
401
+ <rn-icon icon="user-outline" />
402
+ <rn-icon icon="cart-shopping-outline" />
402
403
  </template>
403
404
  <template #extra>
404
405
  <div style="background: #fef3c7; padding: 8px 16px; text-align: center; font-size: 12px;">
@@ -530,6 +531,7 @@ export const カートページ: Story = {
530
531
  'rn-image': Image,
531
532
  'rn-card': Card,
532
533
  'rn-alert': Alert,
534
+ 'rn-callout': Callout,
533
535
  'rn-spinner': Spinner,
534
536
  },
535
537
  setup() {
@@ -638,7 +640,7 @@ export const カートページ: Story = {
638
640
  @delete="deleteCartListItemHandle(item)"
639
641
  />
640
642
  <rn-button variant="text" @click="deleteCartListItemHandle(item)">
641
- <rn-icon :icon="['far', 'trash']" />
643
+ <rn-icon icon="trash-outline" />
642
644
  </rn-button>
643
645
  </rn-stack>
644
646
  <rn-text>¥{{ formatPrice(item.unit_price * item.quantity) }}</rn-text>
@@ -659,7 +661,7 @@ export const カートページ: Story = {
659
661
  >
660
662
  <rn-text size="subtitle" weight="bold">カートに商品はありません。</rn-text>
661
663
  <rn-button variant="text">
662
- <rn-icon :icon="['far', 'arrow-left']" size="sm" />
664
+ <rn-icon icon="arrow-left-outline" size="sm" />
663
665
  TOPに戻る
664
666
  </rn-button>
665
667
  </rn-stack>
@@ -697,31 +699,19 @@ export const カートページ: Story = {
697
699
  <rn-stack horizontal-re-size="fill" horizontal-align="center">
698
700
  <rn-button variant="text">
699
701
  <rn-stack direction="horizontal" vertical-align="center" gap="sm">
700
- <rn-icon :icon="['fas', 'chevron-left']" size="sm" color="subtle" />
702
+ <rn-icon icon="chevron-left-outline" size="sm" color="subtle" />
701
703
  <rn-text color="subtle">買い物を続ける</rn-text>
702
704
  </rn-stack>
703
705
  </rn-button>
704
706
  </rn-stack>
705
707
 
706
- <rn-card :elevation="false" color="muted" variant="tonal">
707
- <template #header>
708
- <rn-stack gap="xs" vertical-align="center">
709
- <rn-icon :icon="['far', 'circle-info']" size="sm" />
710
- <rn-text size="subtitle" weight="bold">注意事項</rn-text>
711
- </rn-stack>
712
- </template>
708
+ <rn-callout title="注意事項" variant="tonal">
713
709
  <rn-stack direction="vertical" gap="xs">
714
- <rn-text size="caption">
715
- ※ご注文確定するまでは、カートに商品が入っていても在庫は確保されません。予めご了承ください。
716
- </rn-text>
717
- <rn-text size="caption">
718
- ※在庫の少ない商品は、ご注文手続き中に在庫切れとなる場合があります。
719
- </rn-text>
720
- <rn-text size="caption">
721
- ※ご注文手続き中に、ご注文商品の販売期間が終了してしまった場合、ご注文はできません
722
- </rn-text>
710
+ <rn-text size="caption">※ご注文確定するまでは、カートに商品が入っていても在庫は確保されません。予めご了承ください。</rn-text>
711
+ <rn-text size="caption">※在庫の少ない商品は、ご注文手続き中に在庫切れとなる場合があります。</rn-text>
712
+ <rn-text size="caption">※ご注文手続き中に、ご注文商品の販売期間が終了してしまった場合、ご注文はできません</rn-text>
723
713
  </rn-stack>
724
- </rn-card>
714
+ </rn-callout>
725
715
  </rn-stack>
726
716
  </template>
727
717
  </rn-page>
@@ -782,7 +772,7 @@ export const カートページ_空の状態: Story = {
782
772
  >
783
773
  <rn-text size="subtitle" weight="bold">カートに商品はありません。</rn-text>
784
774
  <rn-button variant="text">
785
- <rn-icon :icon="['far', 'arrow-left']" size="sm" />
775
+ <rn-icon icon="arrow-left-outline" size="sm" />
786
776
  TOPに戻る
787
777
  </rn-button>
788
778
  </rn-stack>