@reni-corp/reni-2c-ui 0.3.291 → 0.4.1

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 (242) hide show
  1. package/README.md +131 -0
  2. package/dist/__tests__/helpers/assert-contract.d.ts +9 -0
  3. package/dist/__tests__/helpers/assert-contract.d.ts.map +1 -0
  4. package/dist/__tests__/helpers/contract-helpers.d.ts +45 -0
  5. package/dist/__tests__/helpers/contract-helpers.d.ts.map +1 -0
  6. package/dist/__tests__/setup.d.ts +1 -0
  7. package/dist/__tests__/setup.d.ts.map +1 -0
  8. package/dist/components/elements/Alert.vue.d.ts +14 -36
  9. package/dist/components/elements/Alert.vue.d.ts.map +1 -1
  10. package/dist/components/elements/Button.vue.d.ts +13 -41
  11. package/dist/components/elements/Button.vue.d.ts.map +1 -1
  12. package/dist/components/elements/CheckBox.vue.d.ts +11 -60
  13. package/dist/components/elements/CheckBox.vue.d.ts.map +1 -1
  14. package/dist/components/elements/ComboBox.vue.d.ts +34 -116
  15. package/dist/components/elements/ComboBox.vue.d.ts.map +1 -1
  16. package/dist/components/elements/DescriptionList.vue.d.ts +12 -27
  17. package/dist/components/elements/DescriptionList.vue.d.ts.map +1 -1
  18. package/dist/components/elements/Divider.vue.d.ts +3 -27
  19. package/dist/components/elements/Divider.vue.d.ts.map +1 -1
  20. package/dist/components/elements/Html.vue.d.ts +2 -32
  21. package/dist/components/elements/Html.vue.d.ts.map +1 -1
  22. package/dist/components/elements/Icon.vue.d.ts +4 -28
  23. package/dist/components/elements/Icon.vue.d.ts.map +1 -1
  24. package/dist/components/elements/Image.vue.d.ts +19 -43
  25. package/dist/components/elements/Image.vue.d.ts.map +1 -1
  26. package/dist/components/elements/Label.vue.d.ts +13 -33
  27. package/dist/components/elements/Label.vue.d.ts.map +1 -1
  28. package/dist/components/elements/PasswordField.vue.d.ts +13 -151
  29. package/dist/components/elements/PasswordField.vue.d.ts.map +1 -1
  30. package/dist/components/elements/Progress.vue.d.ts +3 -31
  31. package/dist/components/elements/Progress.vue.d.ts.map +1 -1
  32. package/dist/components/elements/RadioButton.vue.d.ts +17 -28
  33. package/dist/components/elements/RadioButton.vue.d.ts.map +1 -1
  34. package/dist/components/elements/RadioButtonGroup.vue.d.ts +26 -75
  35. package/dist/components/elements/RadioButtonGroup.vue.d.ts.map +1 -1
  36. package/dist/components/elements/SelectBox.vue.d.ts +30 -121
  37. package/dist/components/elements/SelectBox.vue.d.ts.map +1 -1
  38. package/dist/components/elements/SkeletonLoader.vue.d.ts +2 -24
  39. package/dist/components/elements/SkeletonLoader.vue.d.ts.map +1 -1
  40. package/dist/components/elements/SpinButton.vue.d.ts +23 -52
  41. package/dist/components/elements/SpinButton.vue.d.ts.map +1 -1
  42. package/dist/components/elements/Spinner.vue.d.ts +3 -27
  43. package/dist/components/elements/Spinner.vue.d.ts.map +1 -1
  44. package/dist/components/elements/Text.vue.d.ts +12 -34
  45. package/dist/components/elements/Text.vue.d.ts.map +1 -1
  46. package/dist/components/elements/TextField.vue.d.ts +23 -146
  47. package/dist/components/elements/TextField.vue.d.ts.map +1 -1
  48. package/dist/components/elements/ToolChip.vue.d.ts +11 -33
  49. package/dist/components/elements/ToolChip.vue.d.ts.map +1 -1
  50. package/dist/components/features/AnnounceBar.vue.d.ts +11 -29
  51. package/dist/components/features/AnnounceBar.vue.d.ts.map +1 -1
  52. package/dist/components/features/AnnounceBarCollection.vue.d.ts +10 -34
  53. package/dist/components/features/AnnounceBarCollection.vue.d.ts.map +1 -1
  54. package/dist/components/features/Banner.vue.d.ts +22 -0
  55. package/dist/components/features/Banner.vue.d.ts.map +1 -0
  56. package/dist/components/features/BrandLogo.vue.d.ts +2 -24
  57. package/dist/components/features/BrandLogo.vue.d.ts.map +1 -1
  58. package/dist/components/features/CategoryBanner.vue.d.ts +3 -30
  59. package/dist/components/features/CategoryBanner.vue.d.ts.map +1 -1
  60. package/dist/components/features/FloatingBanner.vue.d.ts +3 -21
  61. package/dist/components/features/FloatingBanner.vue.d.ts.map +1 -1
  62. package/dist/components/features/Hero.vue.d.ts +32 -52
  63. package/dist/components/features/Hero.vue.d.ts.map +1 -1
  64. package/dist/components/features/ImageGrid.vue.d.ts +3 -30
  65. package/dist/components/features/ImageGrid.vue.d.ts.map +1 -1
  66. package/dist/components/features/LinkList.vue.d.ts +3 -28
  67. package/dist/components/features/LinkList.vue.d.ts.map +1 -1
  68. package/dist/components/features/Marquee.vue.d.ts +19 -49
  69. package/dist/components/features/Marquee.vue.d.ts.map +1 -1
  70. package/dist/components/features/MediaContent.vue.d.ts +14 -36
  71. package/dist/components/features/MediaContent.vue.d.ts.map +1 -1
  72. package/dist/components/features/ProductLabels.vue.d.ts +1 -19
  73. package/dist/components/features/ProductLabels.vue.d.ts.map +1 -1
  74. package/dist/components/features/ProductList.vue.d.ts +63 -88
  75. package/dist/components/features/ProductList.vue.d.ts.map +1 -1
  76. package/dist/components/features/ProductListItem.vue.d.ts +7 -35
  77. package/dist/components/features/ProductListItem.vue.d.ts.map +1 -1
  78. package/dist/components/features/ProductPurchase.vue.d.ts +12 -43
  79. package/dist/components/features/ProductPurchase.vue.d.ts.map +1 -1
  80. package/dist/components/features/Schedule.vue.d.ts +11 -29
  81. package/dist/components/features/Schedule.vue.d.ts.map +1 -1
  82. package/dist/components/features/ScheduleDateItem.vue.d.ts +2 -26
  83. package/dist/components/features/ScheduleDateItem.vue.d.ts.map +1 -1
  84. package/dist/components/features/ScheduleDelivery.vue.d.ts +10 -26
  85. package/dist/components/features/ScheduleDelivery.vue.d.ts.map +1 -1
  86. package/dist/components/features/ScheduleDeliveryItem.vue.d.ts +2 -24
  87. package/dist/components/features/ScheduleDeliveryItem.vue.d.ts.map +1 -1
  88. package/dist/components/features/SchedulePeriod.vue.d.ts +2 -26
  89. package/dist/components/features/SchedulePeriod.vue.d.ts.map +1 -1
  90. package/dist/components/features/SchedulePickup.vue.d.ts +10 -26
  91. package/dist/components/features/SchedulePickup.vue.d.ts.map +1 -1
  92. package/dist/components/features/SchedulePickupItem.vue.d.ts +2 -24
  93. package/dist/components/features/SchedulePickupItem.vue.d.ts.map +1 -1
  94. package/dist/components/features/Schedules.vue.d.ts +10 -22
  95. package/dist/components/features/Schedules.vue.d.ts.map +1 -1
  96. package/dist/components/features/SnsLink.vue.d.ts +3 -29
  97. package/dist/components/features/SnsLink.vue.d.ts.map +1 -1
  98. package/dist/components/foundation/AppBar.vue.d.ts +15 -40
  99. package/dist/components/foundation/AppBar.vue.d.ts.map +1 -1
  100. package/dist/components/foundation/AppBody.vue.d.ts +9 -4
  101. package/dist/components/foundation/AppBody.vue.d.ts.map +1 -1
  102. package/dist/components/foundation/AppFooter.vue.d.ts +13 -35
  103. package/dist/components/foundation/AppFooter.vue.d.ts.map +1 -1
  104. package/dist/components/foundation/AppFrame.vue.d.ts +10 -5
  105. package/dist/components/foundation/AppFrame.vue.d.ts.map +1 -1
  106. package/dist/components/interactive/Dialog.vue.d.ts +18 -40
  107. package/dist/components/interactive/Dialog.vue.d.ts.map +1 -1
  108. package/dist/components/interactive/Disclosure.vue.d.ts +22 -37
  109. package/dist/components/interactive/Disclosure.vue.d.ts.map +1 -1
  110. package/dist/components/interactive/DropDown.vue.d.ts +20 -34
  111. package/dist/components/interactive/DropDown.vue.d.ts.map +1 -1
  112. package/dist/components/interactive/Gallery.vue.d.ts +2 -34
  113. package/dist/components/interactive/Gallery.vue.d.ts.map +1 -1
  114. package/dist/components/interactive/Lightbox.vue.d.ts +32 -0
  115. package/dist/components/interactive/Lightbox.vue.d.ts.map +1 -0
  116. package/dist/components/interactive/Modal.vue.d.ts +15 -33
  117. package/dist/components/interactive/Modal.vue.d.ts.map +1 -1
  118. package/dist/components/interactive/Notification.vue.d.ts +5 -35
  119. package/dist/components/interactive/Notification.vue.d.ts.map +1 -1
  120. package/dist/components/interactive/Slider.vue.d.ts +32 -28
  121. package/dist/components/interactive/Slider.vue.d.ts.map +1 -1
  122. package/dist/components/interactive/Tab.vue.d.ts +17 -25
  123. package/dist/components/interactive/Tab.vue.d.ts.map +1 -1
  124. package/dist/components/interactive/TabGroup.vue.d.ts +25 -0
  125. package/dist/components/interactive/TabGroup.vue.d.ts.map +1 -0
  126. package/dist/components/interactive/TabPanel.vue.d.ts +9 -3
  127. package/dist/components/interactive/TabPanel.vue.d.ts.map +1 -1
  128. package/dist/components/interactive/TabPanels.vue.d.ts +27 -32
  129. package/dist/components/interactive/TabPanels.vue.d.ts.map +1 -1
  130. package/dist/components/interactive/Tabs.vue.d.ts +31 -31
  131. package/dist/components/interactive/Tabs.vue.d.ts.map +1 -1
  132. package/dist/components/layouts/Card.vue.d.ts +12 -30
  133. package/dist/components/layouts/Card.vue.d.ts.map +1 -1
  134. package/dist/components/layouts/Grid.vue.d.ts +11 -32
  135. package/dist/components/layouts/Grid.vue.d.ts.map +1 -1
  136. package/dist/components/layouts/List.vue.d.ts +28 -42
  137. package/dist/components/layouts/List.vue.d.ts.map +1 -1
  138. package/dist/components/layouts/Page.vue.d.ts +33 -62
  139. package/dist/components/layouts/Page.vue.d.ts.map +1 -1
  140. package/dist/components/layouts/Section.vue.d.ts +22 -41
  141. package/dist/components/layouts/Section.vue.d.ts.map +1 -1
  142. package/dist/components/layouts/Stack.vue.d.ts +12 -40
  143. package/dist/components/layouts/Stack.vue.d.ts.map +1 -1
  144. package/dist/components/navigation/BottomBar.vue.d.ts +10 -26
  145. package/dist/components/navigation/BottomBar.vue.d.ts.map +1 -1
  146. package/dist/components/navigation/Drawer.vue.d.ts +14 -32
  147. package/dist/components/navigation/Drawer.vue.d.ts.map +1 -1
  148. package/dist/components/renderless/DataProvider.vue.d.ts +19 -42
  149. package/dist/components/renderless/DataProvider.vue.d.ts.map +1 -1
  150. package/dist/components/renderless/Form.vue.d.ts +22 -43
  151. package/dist/components/renderless/Form.vue.d.ts.map +1 -1
  152. package/dist/components/renderless/OptionGroupSwitchController.vue.d.ts +20 -43
  153. package/dist/components/renderless/OptionGroupSwitchController.vue.d.ts.map +1 -1
  154. package/dist/composable/useAppNotifications.d.ts +0 -1
  155. package/dist/composable/useToolChip.d.ts +0 -1
  156. package/dist/composables.d.ts +0 -1
  157. package/dist/composables.es.js +5 -6
  158. package/dist/contexts/tabGroup.d.ts +17 -0
  159. package/dist/contexts/tabGroup.d.ts.map +1 -0
  160. package/dist/directives/auto-scale.d.ts +0 -1
  161. package/dist/directives/glitch.d.ts +0 -1
  162. package/dist/{index-a725a791.js → index-D7ldGb8i.js} +18 -30
  163. package/dist/index.d.ts +8 -11
  164. package/dist/index.d.ts.map +1 -1
  165. package/dist/index.es.js +6795 -6735
  166. package/dist/script.es.js +8571 -8506
  167. package/dist/script.umd.js +28 -28
  168. package/dist/style.css +1 -1
  169. package/dist/types.d.ts +0 -1
  170. package/dist/{composables-93778bb4.js → useAppDialogGuidance-Bs1h3YmP.js} +1060 -1044
  171. package/dist/utils.d.ts +46 -1
  172. package/dist/utils.d.ts.map +1 -1
  173. package/dist/validation.d.ts +0 -1
  174. package/dist/valueObjects/CurrencyValue.d.ts +0 -1
  175. package/dist/valueObjects/NumberValue.d.ts +0 -1
  176. package/dist/{valueObjects-e0ea7f1b.js → valueObjects-CvF0zaqR.js} +1 -1
  177. package/dist/valueObjects.es.js +1 -1
  178. package/package.json +29 -28
  179. package/src/stories/Alert.stories.ts +1 -1
  180. package/src/stories/AnnounceBar.stories.ts +1 -1
  181. package/src/stories/AnnounceBarCollection.stories.ts +135 -0
  182. package/src/stories/AppBar.stories.ts +6 -2
  183. package/src/stories/AppFooter.stories.ts +1 -1
  184. package/src/stories/AppFrame.stories.ts +1 -1
  185. package/src/stories/AppLayout.stories.ts +5 -16
  186. package/src/stories/Banner.stories.ts +235 -0
  187. package/src/stories/Button.stories.ts +1 -1
  188. package/src/stories/Card.stories.ts +1 -1
  189. package/src/stories/CheckBox.stories.ts +84 -22
  190. package/src/stories/ComboBox.stories.ts +62 -2
  191. package/src/stories/Dialog.stories.ts +1 -1
  192. package/src/stories/Disclosure.stories.ts +1 -1
  193. package/src/stories/Divider.stories.ts +1 -1
  194. package/src/stories/Drawer.stories.ts +1 -1
  195. package/src/stories/DropDown.stories.ts +1 -1
  196. package/src/stories/FloatingBanner.stories.ts +1 -1
  197. package/src/stories/Form.stories.ts +96 -1
  198. package/src/stories/Gallery.stories.ts +1 -1
  199. package/src/stories/Grid.stories.ts +1 -1
  200. package/src/stories/Hero.stories.ts +175 -26
  201. package/src/stories/Html.stories.ts +69 -1
  202. package/src/stories/Icon.stories.ts +1 -1
  203. package/src/stories/Image.stories.ts +1 -1
  204. package/src/stories/Label.stories.ts +97 -4
  205. package/src/stories/Lightbox.stories.ts +231 -0
  206. package/src/stories/List.stories.ts +62 -15
  207. package/src/stories/Modal.stories.ts +1 -1
  208. package/src/stories/Notification.stories.ts +1 -1
  209. package/src/stories/Page.stories.ts +36 -1
  210. package/src/stories/PasswordField.stories.ts +1 -1
  211. package/src/stories/ProductList.stories.ts +65 -3
  212. package/src/stories/ProductPurchase.stories.ts +2 -2
  213. package/src/stories/Progress.stories.ts +1 -1
  214. package/src/stories/Radio.stories.ts +130 -12
  215. package/src/stories/Section.stories.ts +29 -4
  216. package/src/stories/SelectBox.stories.ts +56 -1
  217. package/src/stories/SkeletonLoader.stories.ts +1 -1
  218. package/src/stories/Slider.stories.ts +365 -7
  219. package/src/stories/SnsLink.stories.ts +1 -1
  220. package/src/stories/SpinButton.stories.ts +1 -1
  221. package/src/stories/Spinner.stories.ts +1 -1
  222. package/src/stories/Stack.stories.ts +1 -1
  223. package/src/stories/Switch.stories.ts +1 -1
  224. package/src/stories/Tab.stories.ts +28 -11
  225. package/src/stories/TabGroup.stories.ts +290 -0
  226. package/src/stories/TabPanels.stories.ts +1 -1
  227. package/src/stories/Tabs.stories.ts +104 -3
  228. package/src/stories/Text.stories.ts +24 -1
  229. package/src/stories/TextArea.stories.ts +78 -1
  230. package/src/stories/TextField.stories.ts +75 -2
  231. package/src/stories/ToolChip.stories.ts +1 -1
  232. package/src/stories/compositions/EventPage.stories.ts +184 -0
  233. package/src/stories/compositions/FormPage.stories.ts +222 -0
  234. package/src/stories/compositions/TopPage.stories.ts +164 -0
  235. package/dist/components/features/CarouselBanner.vue.d.ts +0 -36
  236. package/dist/components/features/CarouselBanner.vue.d.ts.map +0 -1
  237. package/dist/components/features/VariationSelector.vue.d.ts +0 -39
  238. package/dist/components/features/VariationSelector.vue.d.ts.map +0 -1
  239. package/src/stories/Carousel.stories.ts +0 -62
  240. package/src/stories/CarouselBanner.stories.ts +0 -103
  241. package/src/stories/ProductLabels.stories.ts +0 -65
  242. package/src/stories/SoldStacker.stories.ts +0 -68
@@ -1,5 +1,5 @@
1
1
  import { ref } from 'vue'
2
- import type { Meta, StoryObj } from '@storybook/vue3'
2
+ import type { Meta, StoryObj } from '@storybook/vue3-vite'
3
3
  import Radio, { type RadioProps } from '@/components/elements/Radio.vue'
4
4
 
5
5
  const meta: Meta<typeof Radio> = {
@@ -9,7 +9,8 @@ const meta: Meta<typeof Radio> = {
9
9
  parameters: {
10
10
  docs: {
11
11
  description: {
12
- component: 'ラジオボタン用コンポーネント',
12
+ component:
13
+ 'ラジオボタン用コンポーネント。標準的なラジオボタン(default)とボタン風のラジオボタン(button)の2つのvariantを提供します。',
13
14
  },
14
15
  },
15
16
  },
@@ -18,18 +19,37 @@ const meta: Meta<typeof Radio> = {
18
19
  control: {
19
20
  type: 'text',
20
21
  },
22
+ description: 'ラジオボタングループの名前',
21
23
  },
22
24
  items: {
23
- label: {
24
- control: 'text',
25
- },
26
- value: {
27
- control: 'text',
28
- },
25
+ control: 'object',
26
+ description: 'ラジオボタンの選択肢配列',
29
27
  },
30
28
  direction: {
31
29
  control: 'select',
32
30
  options: ['horizontal', 'vertical'],
31
+ description: '配置方向',
32
+ },
33
+ variant: {
34
+ control: 'select',
35
+ options: ['default', 'button'],
36
+ description: '表示スタイル',
37
+ },
38
+ color: {
39
+ control: 'select',
40
+ options: [
41
+ 'primary',
42
+ 'secondary',
43
+ 'warning',
44
+ 'danger',
45
+ 'success',
46
+ 'info',
47
+ 'default',
48
+ 'subtle',
49
+ 'muted',
50
+ 'light',
51
+ ],
52
+ description: 'カラーテーマ',
33
53
  },
34
54
  },
35
55
  args: {
@@ -45,6 +65,8 @@ const meta: Meta<typeof Radio> = {
45
65
  },
46
66
  ],
47
67
  direction: 'horizontal',
68
+ variant: 'default',
69
+ color: 'default',
48
70
  },
49
71
  render: (args) => ({
50
72
  components: { 'rn-radio': Radio },
@@ -55,10 +77,12 @@ const meta: Meta<typeof Radio> = {
55
77
  template: /* html */ `
56
78
  <div class='sb-canvas'>
57
79
  <rn-radio
58
- :name=args.name
59
- :items=args.items
60
- :direction=args.direction
61
- v-model=selectedValue
80
+ :name="args.name"
81
+ :items="args.items"
82
+ :direction="args.direction"
83
+ :variant="args.variant"
84
+ :color="args.color"
85
+ v-model="selectedValue"
62
86
  />
63
87
  <p style='margin-top: 24px;'>
64
88
  選択中:{{ selectedValue }}
@@ -79,3 +103,97 @@ export const 基本: OverridesStory = {
79
103
  args: {},
80
104
  argTypes: {},
81
105
  }
106
+
107
+ export const ボタンスタイル: OverridesStory = {
108
+ args: {
109
+ variant: 'button',
110
+ color: 'default',
111
+ items: [
112
+ { label: 'S', value: 's' },
113
+ { label: 'M', value: 'm' },
114
+ { label: 'L', value: 'l' },
115
+ { label: 'XL', value: 'xl' },
116
+ ],
117
+ },
118
+ argTypes: {},
119
+ }
120
+
121
+ export const ボタンスタイル_カラーバリエーション: OverridesStory = {
122
+ render: () => ({
123
+ components: { 'rn-radio': Radio },
124
+ setup() {
125
+ const colors = [
126
+ 'primary',
127
+ 'secondary',
128
+ 'warning',
129
+ 'danger',
130
+ 'success',
131
+ 'info',
132
+ 'default',
133
+ 'subtle',
134
+ ]
135
+ const selectedValues = ref<Record<string, string>>({})
136
+ return { colors, selectedValues }
137
+ },
138
+ template: /* html */ `
139
+ <div class='sb-canvas' style='display: flex; flex-direction: column; gap: 24px;'>
140
+ <div v-for="color in colors" :key="color" style='display: flex; flex-direction: column; gap: 8px;'>
141
+ <h4 style='margin: 0; font-size: 14px; color: #666;'>{{ color }}</h4>
142
+ <rn-radio
143
+ :name="'size-' + color"
144
+ :variant="'button'"
145
+ :color="color"
146
+ :items="[
147
+ { label: 'S', value: 's' },
148
+ { label: 'M', value: 'm' },
149
+ { label: 'L', value: 'l' },
150
+ { label: 'XL', value: 'xl' },
151
+ ]"
152
+ v-model="selectedValues[color]"
153
+ />
154
+ </div>
155
+ </div>
156
+ `,
157
+ }),
158
+ argTypes: {},
159
+ }
160
+
161
+ export const 無効化オプション: OverridesStory = {
162
+ args: {
163
+ variant: 'button',
164
+ color: 'default',
165
+ items: [
166
+ { label: 'S', value: 's' },
167
+ { label: 'M', value: 'm' },
168
+ { label: 'L', value: 'l', disabled: true },
169
+ { label: 'XL', value: 'xl', disabled: true },
170
+ ],
171
+ },
172
+ argTypes: {},
173
+ }
174
+
175
+ export const 縦方向配置: OverridesStory = {
176
+ args: {
177
+ direction: 'vertical',
178
+ items: [
179
+ { label: '犬', value: 'dog' },
180
+ { label: '猫', value: 'cat' },
181
+ { label: '鳥', value: 'bird' },
182
+ ],
183
+ },
184
+ argTypes: {},
185
+ }
186
+
187
+ export const ボタンスタイル_縦方向配置: OverridesStory = {
188
+ args: {
189
+ variant: 'button',
190
+ direction: 'vertical',
191
+ color: 'primary',
192
+ items: [
193
+ { label: 'オプション1', value: 'option1' },
194
+ { label: 'オプション2', value: 'option2' },
195
+ { label: 'オプション3', value: 'option3' },
196
+ ],
197
+ },
198
+ argTypes: {},
199
+ }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3'
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
2
  import Section, { SectionProps } from '@/components/layouts/Section.vue'
3
3
  import Button from '@/components/elements/Button.vue'
4
4
  import Card from '@/components/layouts/Card.vue'
@@ -11,15 +11,15 @@ const meta: Meta<typeof Section> = {
11
11
  headerAlign: { control: 'select', options: ['left', 'center', 'right'] },
12
12
  eyebrowFont: {
13
13
  control: 'select',
14
- options: ['default', 'key', 'accent', 'mono'],
14
+ options: ['default', 'key', 'mono'],
15
15
  },
16
16
  titleFont: {
17
17
  control: 'select',
18
- options: ['default', 'key', 'accent', 'mono'],
18
+ options: ['default', 'key', 'mono'],
19
19
  },
20
20
  descriptionFont: {
21
21
  control: 'select',
22
- options: ['default', 'key', 'accent', 'mono'],
22
+ options: ['default', 'key', 'mono'],
23
23
  },
24
24
  fluid: { control: 'boolean' },
25
25
  },
@@ -242,3 +242,28 @@ export const フルード: Story = {
242
242
  `,
243
243
  }),
244
244
  }
245
+
246
+ export const フォントファミリー選択: Story = {
247
+ args: {
248
+ eyebrow: 'SPECIAL FONT',
249
+ title: 'ブランドフォントを使用したタイトル',
250
+ description: '等幅フォントを使用した説明文です。',
251
+ eyebrowFont: 'mono',
252
+ titleFont: 'key',
253
+ descriptionFont: 'mono',
254
+ bodyContent: 'フォントファミリーを選択できます。',
255
+ },
256
+ render: (args) => ({
257
+ components: { Section },
258
+ setup() {
259
+ return { args }
260
+ },
261
+ template: `
262
+ <Section v-bind="args">
263
+ <template #body>
264
+ {{ args.bodyContent }}
265
+ </template>
266
+ </Section>
267
+ `,
268
+ }),
269
+ }
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3'
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
2
  import SelectBox, {
3
3
  type SelectBoxProps,
4
4
  } from '@/components/elements/SelectBox.vue'
@@ -14,6 +14,11 @@ const meta: Meta<typeof SelectBox> = {
14
14
  control: 'text',
15
15
  description: 'ラベルテキスト',
16
16
  },
17
+ variant: {
18
+ control: 'select',
19
+ options: ['default', 'floating'],
20
+ description: 'ラベルのバリアント',
21
+ },
17
22
  placeholder: {
18
23
  control: 'text',
19
24
  description: 'プレースホルダーテキスト',
@@ -53,6 +58,7 @@ const meta: Meta<typeof SelectBox> = {
53
58
  },
54
59
  args: {
55
60
  label: 'オプション選択',
61
+ variant: 'default',
56
62
  placeholder: '',
57
63
  itemTitle: 'label',
58
64
  itemValue: 'value',
@@ -99,6 +105,7 @@ export const 基本: OverridesStory = {
99
105
  <rn-select-box
100
106
  v-model="selectedValue"
101
107
  :label="args.label"
108
+ :variant="args.variant"
102
109
  :placeholder="args.placeholder"
103
110
  :items="args.items"
104
111
  :item-title="args.itemTitle"
@@ -157,6 +164,7 @@ export const 複数選択: OverridesStory = {
157
164
  <rn-select-box
158
165
  v-model="selectedValues"
159
166
  :label="args.label"
167
+ :variant="args.variant"
160
168
  :placeholder="args.placeholder"
161
169
  :items="args.items"
162
170
  :multiple="args.multiple"
@@ -219,6 +227,7 @@ export const オートコンプリート: OverridesStory = {
219
227
  <rn-select-box
220
228
  v-model="selectedCountry"
221
229
  :label="args.label"
230
+ :variant="args.variant"
222
231
  :placeholder="args.placeholder"
223
232
  :items="args.items"
224
233
  :autocomplete="args.autocomplete"
@@ -272,6 +281,7 @@ export const バリデーション: OverridesStory = {
272
281
  <rn-select-box
273
282
  v-model="selectedOption"
274
283
  :label="args.label"
284
+ :variant="args.variant"
275
285
  :placeholder="args.placeholder"
276
286
  :items="args.items"
277
287
  :rules="args.rules"
@@ -323,6 +333,7 @@ export const プレースホルダー指定: OverridesStory = {
323
333
  <rn-select-box
324
334
  v-model="selectedMethod"
325
335
  :label="args.label"
336
+ :variant="args.variant"
326
337
  :placeholder="args.placeholder"
327
338
  :items="args.items"
328
339
  @update:modelValue="handleChange"
@@ -336,6 +347,49 @@ export const プレースホルダー指定: OverridesStory = {
336
347
  }),
337
348
  }
338
349
 
350
+ export const フローティングラベル: OverridesStory = {
351
+ args: {
352
+ label: '配送方法',
353
+ variant: 'floating',
354
+ placeholder: '選択してください',
355
+ items: [
356
+ { value: 'standard', label: '通常配送(3-5日)' },
357
+ { value: 'express', label: '速達配送(1-2日)' },
358
+ { value: 'overnight', label: '翌日配送' },
359
+ { value: 'pickup', label: '店舗受取' },
360
+ ],
361
+ },
362
+ argTypes: {
363
+ label: { control: { disable: true } },
364
+ variant: { control: { disable: true } },
365
+ items: { control: { disable: true } },
366
+ },
367
+ render: (args: StoryArgs) => ({
368
+ components: { 'rn-select-box': SelectBox, 'rn-stack': Stack },
369
+ setup() {
370
+ const selectedMethod = ref('')
371
+
372
+ return { args, selectedMethod }
373
+ },
374
+ template: /* html */ `
375
+ <div class='sb-canvas'>
376
+ <rn-stack direction="vertical" gap="md">
377
+ <rn-select-box
378
+ v-model="selectedMethod"
379
+ :label="args.label"
380
+ :variant="args.variant"
381
+ :placeholder="args.placeholder"
382
+ :items="args.items"
383
+ />
384
+ <div>
385
+ <p><strong>選択値:</strong> {{ selectedMethod || '未選択' }}</p>
386
+ </div>
387
+ </rn-stack>
388
+ </div>
389
+ `,
390
+ }),
391
+ }
392
+
339
393
  export const 無効状態: OverridesStory = {
340
394
  args: {
341
395
  label: '無効な選択ボックス',
@@ -366,6 +420,7 @@ export const 無効状態: OverridesStory = {
366
420
  <rn-select-box
367
421
  v-model="selectedOption"
368
422
  :label="args.label"
423
+ :variant="args.variant"
369
424
  :placeholder="args.placeholder"
370
425
  :items="args.items"
371
426
  :disabled="args.disabled"
@@ -1,4 +1,4 @@
1
- import type { Meta, StoryObj } from '@storybook/vue3'
1
+ import type { Meta, StoryObj } from '@storybook/vue3-vite'
2
2
  import SkeletonLoader, {
3
3
  type SkeletonLoaderProps,
4
4
  } from '@/components/elements/SkeletonLoader.vue'