@geckou/ui-vue 0.3.0 → 0.4.0

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 (145) hide show
  1. package/README.md +8 -1
  2. package/dist/components/ArticleList/Card/Artistic.vue.d.ts +10 -0
  3. package/dist/components/ArticleList/Card/Entertainment.vue.d.ts +10 -0
  4. package/dist/components/ArticleList/Card/Gallery.vue.d.ts +10 -0
  5. package/dist/components/ArticleList/Card/Grid.vue.d.ts +11 -0
  6. package/dist/components/ArticleList/Card/News.vue.d.ts +9 -0
  7. package/dist/components/ArticleList/Card/Rounded.vue.d.ts +10 -0
  8. package/dist/components/ArticleList/Card/Row.vue.d.ts +9 -0
  9. package/dist/components/ArticleList/Card/Simple.vue.d.ts +10 -0
  10. package/dist/components/ArticleList/Card/Standard.vue.d.ts +10 -0
  11. package/dist/components/ArticleList/Card/Tile.vue.d.ts +10 -0
  12. package/dist/components/ArticleList/GenericArticleList.vue.d.ts +11 -0
  13. package/dist/components/ArticleList/List/Artistic.vue.d.ts +8 -0
  14. package/dist/components/ArticleList/List/Entertainment.vue.d.ts +8 -0
  15. package/dist/components/ArticleList/List/Gallery.vue.d.ts +8 -0
  16. package/dist/components/ArticleList/List/Grid.vue.d.ts +11 -0
  17. package/dist/components/ArticleList/List/News.vue.d.ts +8 -0
  18. package/dist/components/ArticleList/List/Rounded.vue.d.ts +8 -0
  19. package/dist/components/ArticleList/List/Row.vue.d.ts +8 -0
  20. package/dist/components/ArticleList/List/Simple.vue.d.ts +8 -0
  21. package/dist/components/ArticleList/List/Standard.vue.d.ts +8 -0
  22. package/dist/components/ArticleList/List/Tile.vue.d.ts +8 -0
  23. package/dist/components/ArticleList/Parts/AuthorInfo.vue.d.ts +31 -0
  24. package/dist/components/ArticleList/Parts/CardContainer.vue.d.ts +20 -0
  25. package/dist/components/ArticleList/Parts/CardHeading.vue.d.ts +12 -0
  26. package/dist/components/ArticleList/Parts/CategoryList.vue.d.ts +19 -0
  27. package/dist/components/ArticleList/Parts/ExcerptText.vue.d.ts +12 -0
  28. package/dist/components/ArticleList/Parts/MetadataList.vue.d.ts +32 -0
  29. package/dist/components/ArticleList/Parts/NoImage.vue.d.ts +2 -0
  30. package/dist/components/ArticleList/Parts/PostedDate.vue.d.ts +14 -0
  31. package/dist/components/ArticleList/Parts/TagList.vue.d.ts +18 -0
  32. package/dist/components/ArticleList/Parts/ThumbnailImage.vue.d.ts +17 -0
  33. package/dist/components/BasicButton.vue.d.ts +26 -0
  34. package/dist/components/CheckBox.vue.d.ts +34 -0
  35. package/dist/components/CheckBoxes.vue.d.ts +18 -0
  36. package/dist/components/CheckButton.vue.d.ts +31 -0
  37. package/dist/components/DatePicker.vue.d.ts +27 -0
  38. package/dist/components/DateRangePicker.vue.d.ts +31 -0
  39. package/dist/components/DateSelector.vue.d.ts +17 -0
  40. package/dist/components/DropdownUi.vue.d.ts +37 -0
  41. package/dist/components/ErrorMessage.vue.d.ts +9 -0
  42. package/dist/components/Icon/CalendarIcon.vue.d.ts +2 -0
  43. package/dist/components/Icon/CheckIcon.vue.d.ts +2 -0
  44. package/dist/components/Icon/CloseIcon.vue.d.ts +2 -0
  45. package/dist/components/Icon/Folder.vue.d.ts +2 -0
  46. package/dist/components/Icon/Image.vue.d.ts +2 -0
  47. package/dist/components/Icon/KeyboardArrowDownIcon.vue.d.ts +2 -0
  48. package/dist/components/Icon/Tag.vue.d.ts +2 -0
  49. package/dist/components/InputBox.vue.d.ts +27 -0
  50. package/dist/components/InputGroup.vue.d.ts +17 -0
  51. package/dist/components/LabeledCheckbox.vue.d.ts +20 -0
  52. package/dist/components/LabeledFieldset.vue.d.ts +21 -0
  53. package/dist/components/LoadingSpinner.vue.d.ts +2 -0
  54. package/dist/components/ModalBox.vue.d.ts +27 -0
  55. package/dist/components/PopupBox.vue.d.ts +30 -0
  56. package/dist/components/RadioButtons.vue.d.ts +20 -0
  57. package/dist/components/SelectBox.vue.d.ts +37 -0
  58. package/dist/components/SlideDownUi.vue.d.ts +37 -0
  59. package/dist/components/TabUI.vue.d.ts +54 -0
  60. package/dist/components/TextArea.vue.d.ts +33 -0
  61. package/dist/components/TextBox.vue.d.ts +44 -0
  62. package/dist/components/TextButton.vue.d.ts +10 -0
  63. package/dist/components/ToggleButton.vue.d.ts +23 -0
  64. package/dist/const/index.d.ts +1 -0
  65. package/dist/const/list-theme.d.ts +62 -0
  66. package/dist/index.d.ts +43 -0
  67. package/dist/index.js +3519 -0
  68. package/dist/scripts/form-validation-manager.d.ts +30 -0
  69. package/dist/scripts/unique-id.d.ts +1 -0
  70. package/dist/scripts/use-click-outside.d.ts +13 -0
  71. package/dist/scripts/utils.d.ts +15 -0
  72. package/dist/style.css +1 -0
  73. package/dist/types/index.d.ts +48 -77
  74. package/package.json +16 -8
  75. package/dist/assets/scss/functions.scss +0 -6
  76. package/dist/assets/scss/mixin.scss +0 -33
  77. package/dist/components/ArticleList/Card/Artistic.vue +0 -310
  78. package/dist/components/ArticleList/Card/Entertainment.vue +0 -244
  79. package/dist/components/ArticleList/Card/Gallery.vue +0 -254
  80. package/dist/components/ArticleList/Card/Grid.vue +0 -247
  81. package/dist/components/ArticleList/Card/News.vue +0 -150
  82. package/dist/components/ArticleList/Card/Rounded.vue +0 -154
  83. package/dist/components/ArticleList/Card/Row.vue +0 -167
  84. package/dist/components/ArticleList/Card/Simple.vue +0 -232
  85. package/dist/components/ArticleList/Card/Standard.vue +0 -187
  86. package/dist/components/ArticleList/Card/Tile.vue +0 -171
  87. package/dist/components/ArticleList/GenericArticleList.vue +0 -143
  88. package/dist/components/ArticleList/List/Artistic.vue +0 -24
  89. package/dist/components/ArticleList/List/Entertainment.vue +0 -24
  90. package/dist/components/ArticleList/List/Gallery.vue +0 -24
  91. package/dist/components/ArticleList/List/Grid.vue +0 -216
  92. package/dist/components/ArticleList/List/News.vue +0 -24
  93. package/dist/components/ArticleList/List/Rounded.vue +0 -24
  94. package/dist/components/ArticleList/List/Row.vue +0 -24
  95. package/dist/components/ArticleList/List/Simple.vue +0 -24
  96. package/dist/components/ArticleList/List/Standard.vue +0 -24
  97. package/dist/components/ArticleList/List/Tile.vue +0 -24
  98. package/dist/components/ArticleList/Parts/AuthorInfo.vue +0 -100
  99. package/dist/components/ArticleList/Parts/CardContainer.vue +0 -23
  100. package/dist/components/ArticleList/Parts/CardHeading.vue +0 -43
  101. package/dist/components/ArticleList/Parts/CategoryList.vue +0 -41
  102. package/dist/components/ArticleList/Parts/ExcerptText.vue +0 -43
  103. package/dist/components/ArticleList/Parts/MetadataList.vue +0 -120
  104. package/dist/components/ArticleList/Parts/NoImage.vue +0 -36
  105. package/dist/components/ArticleList/Parts/PostedDate.vue +0 -41
  106. package/dist/components/ArticleList/Parts/TagList.vue +0 -41
  107. package/dist/components/ArticleList/Parts/ThumbnailImage.vue +0 -85
  108. package/dist/components/BasicButton.vue +0 -143
  109. package/dist/components/CheckBox.vue +0 -140
  110. package/dist/components/CheckBoxes.vue +0 -100
  111. package/dist/components/CheckButton.vue +0 -127
  112. package/dist/components/DatePicker.vue +0 -234
  113. package/dist/components/DateRangePicker.vue +0 -85
  114. package/dist/components/DateSelector.vue +0 -273
  115. package/dist/components/DropdownUi.vue +0 -118
  116. package/dist/components/ErrorMessage.vue +0 -61
  117. package/dist/components/Icon/CalendarIcon.vue +0 -8
  118. package/dist/components/Icon/CheckIcon.vue +0 -8
  119. package/dist/components/Icon/CloseIcon.vue +0 -8
  120. package/dist/components/Icon/Folder.vue +0 -8
  121. package/dist/components/Icon/Image.vue +0 -14
  122. package/dist/components/Icon/KeyboardArrowDownIcon.vue +0 -8
  123. package/dist/components/Icon/Tag.vue +0 -8
  124. package/dist/components/InputBox.vue +0 -134
  125. package/dist/components/InputGroup.vue +0 -41
  126. package/dist/components/LabeledCheckbox.vue +0 -82
  127. package/dist/components/LabeledFieldset.vue +0 -41
  128. package/dist/components/LoadingSpinner.vue +0 -56
  129. package/dist/components/ModalBox.vue +0 -192
  130. package/dist/components/PopupBox.vue +0 -93
  131. package/dist/components/RadioButtons.vue +0 -163
  132. package/dist/components/SelectBox.vue +0 -166
  133. package/dist/components/SlideDownUi.vue +0 -123
  134. package/dist/components/TabUI.vue +0 -123
  135. package/dist/components/TextArea.vue +0 -115
  136. package/dist/components/TextBox.vue +0 -111
  137. package/dist/components/TextButton.vue +0 -47
  138. package/dist/components/ToggleButton.vue +0 -179
  139. package/dist/const/index.ts +0 -2
  140. package/dist/const/list-theme.ts +0 -62
  141. package/dist/index.ts +0 -126
  142. package/dist/scripts/form-validation-manager.ts +0 -63
  143. package/dist/scripts/utils.ts +0 -36
  144. package/dist/types/custom.d.ts +0 -1
  145. package/dist/types/vue-shim.d.ts +0 -5
@@ -0,0 +1,30 @@
1
+ import { ComputedRef } from 'vue';
2
+ /**
3
+ * フォーム内の各入力コンポーネントのバリデーション状態をまとめて管理する。
4
+ *
5
+ * 状態そのものは @geckou/ui-core の createFormValidationStore が持つ。
6
+ * このクラスは Vue のリアクティビティへ繋ぐ薄いラッパーで、
7
+ * 判定ロジックは React 実装(@geckou/ui-react)と共有される。
8
+ *
9
+ * ```ts
10
+ * const manager = new FormValidationManager()
11
+ * // <DatePicker name="startedOn" :formValidationManager="manager" />
12
+ * const canSubmit = manager.isAllValid
13
+ * ```
14
+ */
15
+ export declare class FormValidationManager {
16
+ private readonly store;
17
+ /** 登録済みの入力がすべて有効かどうか */
18
+ readonly isAllValid: ComputedRef<boolean>;
19
+ /** 無効になっている入力の name 一覧 */
20
+ readonly invalidNames: ComputedRef<string[]>;
21
+ constructor();
22
+ /** 入力の状態を登録・更新する */
23
+ setValid(name: string, isValid: boolean): void;
24
+ /** 個別の入力が有効かどうか(未登録なら true) */
25
+ isValid(name: string): boolean;
26
+ /** 管理対象から外す(コンポーネントのアンマウント時など) */
27
+ remove(name: string): void;
28
+ /** すべての状態を破棄する */
29
+ reset(): void;
30
+ }
@@ -0,0 +1 @@
1
+ export declare function nextUniqueId(prefix: string): string;
@@ -0,0 +1,13 @@
1
+ import { Ref } from 'vue';
2
+ /**
3
+ * 要素の外側が押されたときに handler を呼ぶ。
4
+ *
5
+ * 以前は `v-click-outside` ディレクティブを前提にしていたが、`app.directive()` の
6
+ * 登録がどこにも無く、単体 import でも `install` 経由でも解決できずに
7
+ * 「Failed to resolve directive」で黙って無効化されていた。
8
+ * 利用側の登録に依存しないよう、コンポーネントから直接呼ぶ形にしている。
9
+ *
10
+ * React 版(DropdownUi.tsx)と揃えて pointerdown を使う。click だと
11
+ * 押した位置と離した位置がまたぐ操作で閉じない。
12
+ */
13
+ export declare function useClickOutside(target: Ref<HTMLElement | null>, handler: () => void): void;
@@ -0,0 +1,15 @@
1
+ import { Article, PostConfig, WpAuthor } from '../types';
2
+ export declare const generateQueryObject: (url: string) => Record<string, string>;
3
+ /**
4
+ * 投稿の著者を取り出す。
5
+ * _embedded は ?_embed を付けていないレスポンスでは存在しないため、
6
+ * 各カードで直接辿らずここを通す
7
+ */
8
+ export declare const returnAuthor: (articleObject: Article) => WpAuthor | undefined;
9
+ export declare const returnTagList: (articleObject: Article) => string[];
10
+ export declare const returnArticlePath: (postConfig: PostConfig, domain: string, articleId: string | number) => string;
11
+ /**
12
+ * 各カードは postConfig.author / category / tag を参照するが、
13
+ * 設定側では useAuthor / useCategory / useTag で渡すこともできるため両対応させる
14
+ */
15
+ export declare const normalizePostConfig: (postConfig: PostConfig) => PostConfig;
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ :is(._input_box_4lok0_1){display:inline-flex;max-inline-size:100%;background-color:var(--background-color);box-shadow:var(--border-style),var(--box-shadow);border-radius:var(--radius-size);color:var(--text-color);position:relative}:is(._input_box_4lok0_1) input,:is(._input_box_4lok0_1) textarea,:is(._input_box_4lok0_1) select{inline-size:100%;padding:1rem;background-color:transparent;border:none;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}:is(._input_box_4lok0_1) *::placeholder{color:var(--placeholder-color);font-weight:400}:is(._input_box_4lok0_1) *:focus,:is(._input_box_4lok0_1) *:focus:not(:focus-visible){outline:none}:is(._input_box_4lok0_1):has(>*:disabled){pointer-events:none!important;position:relative}:is(._input_box_4lok0_1):has(>*:disabled):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:all;cursor:not-allowed!important}:is(._error_messages_basoi_1){inline-size:max-content;display:flex;flex-direction:column;gap:.5rem;padding:.5rem .75rem;font-size:small;color:var(--error-text-color);background-color:var(--error-background-color);box-shadow:0 0 .5rem .25rem #3332;border-radius:.25rem;line-height:1;position:absolute;inset-block-start:calc(100% + .25rem)}:is(._error_messages_basoi_1):before{--tail-size: .85rem;content:"";display:block;background-color:var(--error-background-color);inline-size:var(--tail-size);block-size:calc(var(--tail-size) * .625);clip-path:polygon(50% 0%,100% 100%,0% 100%);position:absolute;bottom:calc(100% - 1px);inset-inline-start:.85rem}:is(._text_box_dqty_1){display:inline-flex}:is(._text_box_dqty_1)>input{flex:1 1 auto}:is(._text_area_1f3te_2){min-block-size:4em}:is(._button_pz98w_1){display:inline-flex;justify-content:center;align-items:center;inline-size:max-content;padding:1rem 2rem;background-color:var(--background-color);box-shadow:0 0 0 var(--border-size) var(--border-color) inset,var(--box-shadow);border:none;border-radius:var(--radius-size);color:var(--text-color);line-height:1;transition:all var(--duration);position:relative;cursor:pointer}@media (hover: hover){:is(._button_pz98w_1):where(:any-link,:enabled,summary):hover{background-color:var(--hover-background-color);box-shadow:0 0 0 var(--hover-border-size) var(--hover-border-color) inset,var(--hover-box-shadow);border-radius:var(--hover-radius-size);color:var(--hover-text-color)}}:is(._button_pz98w_1)._loading_pz98w_25,:is(._button_pz98w_1):disabled{pointer-events:none!important}:is(._button_pz98w_1)._loading_pz98w_25:before,:is(._button_pz98w_1):disabled:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:all;cursor:not-allowed!important}:is(._button_pz98w_1)._loading_pz98w_25>*:not(:is(._loading_animation_pz98w_35)){visibility:hidden}:is(._loading_animation_pz98w_35){max-block-size:calc(100% - 1.5rem);color:currentColor;fill:currentColor;position:absolute;margin:auto;top:0;right:0;bottom:0;left:0}:is(._loading_animation_pz98w_35) *{max-block-size:100%;color:currentColor;fill:currentColor}:is(._select_box_pnpdo_1){display:inline-flex}:is(._select_box_pnpdo_1)>select{flex:1 1 auto;padding-inline-end:2rem;cursor:pointer}:is(._arrow_container_pnpdo_10){display:flex;align-items:center;position:absolute;margin:auto;inset-inline-end:.5rem;inset-block:0;pointer-events:none}:is(._arrow_container_pnpdo_10)>*{color:currentColor;fill:currentColor;block-size:1rem}@keyframes _pop_1956i_1{0%{scale:1}10%{scale:.8}50%{scale:1.1}to{scale:1}}:is(._check_box_1956i_15){display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border:none;box-shadow:0 0 0 var(--border-size) var(--border-color) inset;border-radius:var(--radius-size);background-color:var(--background-color);cursor:pointer}:is(._check_box_1956i_15)>input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}:is(._check_box_1956i_15):has(input:disabled){pointer-events:none!important;position:relative}:is(._check_box_1956i_15):has(input:disabled):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:all;cursor:not-allowed!important}:is(._check_box_1956i_15):has(input:checked){background-color:var(--border-color);animation:_pop_1956i_1 var(--duration) ease-out}:is(._check_box_1956i_15):has(input:checked) :is(._check_container_1956i_53){color:var(--background-color)}:is(._check_container_1956i_53){display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--border-color)}:is(._check_container_1956i_53)>*{color:currentColor;fill:currentColor}:is(._labeled_check_box_ck3yh_1){display:inline-flex;align-items:center;gap:.5em;cursor:pointer}:is(._labeled_check_box_ck3yh_1):has(input:disabled){cursor:auto}:is(._labeled_check_box_ck3yh_1) ._label_ck3yh_1{color:var(--checked-color)}:is(._labeled_check_box_ck3yh_1):has(input:checked) ._label_ck3yh_1{color:var(--text-color)}._check_boxes_1cn70_1{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;position:relative}@keyframes _pop_7lw3v_1{0%{scale:1}10%{scale:.8}50%{scale:1.1}to{scale:1}}:is(._check_box_7lw3v_15){display:flex;position:relative;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;box-shadow:0 0 0 var(--border-size) var(--border-color) inset;border-radius:var(--radius-size);background-color:var(--background-color);cursor:pointer}:is(._check_box_7lw3v_15)>input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}:is(._check_box_7lw3v_15):has(input:disabled){pointer-events:none!important}:is(._check_box_7lw3v_15):has(input:disabled):before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:all;cursor:not-allowed!important}:is(._check_box_7lw3v_15):has(input:checked){background-color:var(--border-color);animation:_pop_7lw3v_1 var(--duration) ease-out}:is(._check_box_7lw3v_15):has(input:checked) :is(._check_container_7lw3v_52){color:var(--background-color)}:is(._check_container_7lw3v_52){display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--border-color)}:is(._check_container_7lw3v_52)>*{color:currentColor;fill:currentColor}:is(._fieldset_1iro5_1){display:grid;gap:.5rem}:is(._fieldset_1iro5_1)>fieldset{display:contents}:is(._legend_1iro5_9){display:flex;align-items:center}:is(._input_1iro5_14)>*{inline-size:100%}@keyframes _pop_hh7eh_1{0%{scale:1}10%{scale:.8}50%{scale:1.2}to{scale:1}}:is(._radios_hh7eh_15){display:flex;align-items:center;flex-wrap:wrap;gap:1rem;position:relative}:is(._radio_hh7eh_15){display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem;color:var(--border-color);cursor:pointer}:is(._radio_hh7eh_15):before{content:"";display:inline-block;aspect-ratio:1/1;width:1rem;box-shadow:0 0 0 1px var(--border-color) inset;background-color:var(--background-color);border-radius:50%;transition:all var(--duration) linear}:is(._radio_hh7eh_15):has(input:checked){color:var(--text-color)}:is(._radio_hh7eh_15):has(input:checked):before{box-shadow:0 0 0 2px var(--background-color) inset,0 0 0 1px var(--border-color);background-color:var(--border-color);animation:_pop_hh7eh_1 var(--duration) ease-out}:is(._radio_hh7eh_15):has(input:disabled){cursor:not-allowed!important}:is(._radio_hh7eh_15)>input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}:is(._toggle_button_1phgw_1){--handle-size: 1.5rem;--padding-size: calc(var(--border-size) + 2px);--duration: .15s;inline-size:calc(var(--inline-size) + var(--handle-size) + var(--padding-size) * 2);position:relative;display:inline-block;padding:var(--padding-size);background-color:var(--background-color);box-shadow:0 0 0 var(--border-size) var(--border-color) inset,var(--box-shadow);border:none;border-radius:var(--radius-size);cursor:pointer}:is(._toggle_button_1phgw_1)>input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;white-space:nowrap;clip-path:inset(50%)}:is(._text_1phgw_27){position:absolute;inline-size:100%;block-size:100%;text-transform:uppercase;color:var(--text-color);top:0;left:0}:is(._text_1phgw_27):before,:is(._text_1phgw_27):after{display:inline-flex;justify-content:center;align-items:center;block-size:100%;inline-size:calc(100% - var(--handle-size) - var(--padding-size));margin:auto;line-height:1;position:absolute;transition:opacity var(--duration) ease-out}:is(._text_1phgw_27):before{content:attr(data-off);right:0}:is(._text_1phgw_27):after{content:attr(data-on);left:0;opacity:0}:is(._text_1phgw_27)._on_1phgw_56:before{opacity:0}:is(._text_1phgw_27)._on_1phgw_56:after{opacity:1}:is(._text_1phgw_27)._on_1phgw_56+._handle_1phgw_62{left:calc(100% - var(--handle-size))}:is(._handle_1phgw_62){inline-size:var(--handle-size);aspect-ratio:1/1;margin:0;background-color:var(--text-color);border-radius:calc(var(--radius-size) - var(--padding-size) / 2);box-shadow:var(--box-shadow);position:relative;left:0;transition:left var(--duration) ease-out}._input_group_7evrk_1{display:inline-flex;gap:1px}@container (width <= 576px){._input_group_7evrk_1{flex-wrap:wrap}}._input_group_7evrk_1>*{flex:1 1 auto;border-radius:0}._input_group_7evrk_1>*:first-child:not(:only-child){border-top-left-radius:var(--radius-small);border-bottom-left-radius:var(--radius-small)}._input_group_7evrk_1>*:last-child:not(:only-child){border-top-right-radius:var(--radius-small);border-bottom-right-radius:var(--radius-small)}._input_group_7evrk_1>button{flex:0 0 auto}._text_button_awtwg_1{padding:0;border:none;background-color:transparent;color:var(--text-button-color);font-size:inherit;line-height:1;cursor:pointer}._text_button_awtwg_1:hover:not(:disabled){text-decoration:underline}._text_button_awtwg_1:disabled{color:var(--disable-text-color);cursor:not-allowed}._icon_1mylj_1{width:100%;height:100%;max-width:var(--medium-icon-size);max-height:var(--medium-icon-size);fill:var(--link-color);margin:auto;position:absolute;top:0;left:var(--sp-small);bottom:0}._date_input_1mylj_14{flex:0 0 auto;position:relative}._date_input_1mylj_14>input{width:calc(var(--icon-medium) + var(--sp-small) * 2);padding:var(--sp-medium) var(--sp-small)}._date_input_1mylj_14>input[type=date],._date_input_1mylj_14>input[type=month]{opacity:0}._date_input_1mylj_14>input[type=date]::-webkit-calendar-picker-indicator,._date_input_1mylj_14>input[type=month]::-webkit-calendar-picker-indicator{position:absolute;left:0;width:100%;height:100%;opacity:0;cursor:pointer}._date_picker_1mylj_34{display:flex;align-items:center;width:100%;position:relative;line-height:1}._date_picker_1mylj_34>input{padding:var(--sp-medium);width:calc(var(--sp-medium) * 2 + 3ch)}._date_picker_1mylj_34>input._year_1mylj_45{width:calc(var(--sp-medium) * 2 + 5ch)}._date_picker_1mylj_34>input[type=text]{flex:0 0 auto}._date_picker_1mylj_34._small_1mylj_51 ._icon_1mylj_1{width:100%;height:100%;max-width:var(--icon-small);max-height:var(--icon-small);fill:var(--link-color);left:var(--sp-small)}._date_picker_1mylj_34._small_1mylj_51 input{padding:var(--sp-min) var(--sp-small);font-size:var(--fs-small)}._date_range_picker_1t03t_1{display:flex;align-items:center;gap:var(--sp-small);flex-wrap:wrap}._range_1t03t_8{flex:0 0 auto;color:var(--gray)}._date_selector_1yxst_1{width:max-content;display:flex;align-items:center;position:relative}._date_selector_1yxst_1>*:not(:last-of-type):after{content:"/"}._selector_wrapper_1yxst_11{position:relative;width:max-content}._selector_wrapper_1yxst_11>svg{width:100%;height:100%;max-width:var(--medium-icon-size);max-height:var(--medium-icon-size);fill:var(--link-color);position:absolute;margin:auto;top:0;right:var(--sp-small);bottom:0;pointer-events:none}._selector_wrapper_1yxst_11:has(select:focus) svg{rotate:180deg}._selector_wrapper_1yxst_11>select{width:calc(3ch + var(--sp-medium) * 2 + var(--icon-medium));padding:var(--sp-medium);padding-inline-end:calc(var(--sp-small) * 2 + var(--icon-medium));cursor:pointer}._selector_wrapper_1yxst_11>select._year_1yxst_37{width:calc(5ch + var(--sp-medium) * 2 + var(--icon-medium))}._delete_button_1yxst_41{margin-inline:var(--sp-medium);font-size:var(--fs-small)}._drop_down_box_1azx1_1{position:relative}._button_1azx1_5{display:flex;align-items:center;inline-size:100%;block-size:100%;gap:var(--sp-small);color:var(--trigger-color)}._icon_1azx1_14{width:100%;height:100%;max-width:var(--icon-small);max-height:var(--icon-small);fill:var(--text-color);flex:0 0 auto;transition:all .1s}._icon_1azx1_14._open_1azx1_23{transform:rotate(180deg)}._contents_1azx1_27{border-radius:var(--radius-small);position:absolute;top:calc(100% - var(--sp-min));transition:block-size .1s;overflow:hidden;cursor:pointer}._contents_1azx1_27>div{max-block-size:calc(var(--bv) * 48);min-inline-size:calc(var(--bv) * 20);background-color:var(--white);overflow:auto}._container_1fmv7_1{display:flex;flex-direction:column;inline-size:100%;max-inline-size:var(--desktop-lower-width);max-block-size:100%;background-color:var(--white);border-radius:var(--radius-small);cursor:auto;filter:drop-shadow(0 0 6px var(--shadow-color));position:relative}._container_1fmv7_1._small_1fmv7_13{max-inline-size:var(--mobile-lower-width)}._container_1fmv7_1._large_1fmv7_16{max-inline-size:var(--contents-max-width)}._header_1fmv7_20{padding:var(--sp-medium) var(--sp-large);border-block-end:1px solid var(--light-border-color)}._header_1fmv7_20>h2{font-size:var(--fs-large);font-weight:700}@container (width <= 576px){._header_1fmv7_20{padding:var(--sp-medium)}}._contents_1fmv7_34{flex:1 1 auto;overflow:auto;padding:var(--sp-large)}@container (width <= 576px){._contents_1fmv7_34{padding:var(--sp-medium)}}._footer_1fmv7_45{display:flex;justify-content:center;gap:var(--sp-large);padding:var(--sp-medium) var(--sp-large);border-block-start:1px solid var(--light-border-color)}@container (width <= 576px){._footer_1fmv7_45{gap:var(--sp-medium);padding:var(--sp-medium)}._footer_1fmv7_45>*{flex:1 1 auto}}._close_button_1fmv7_62{inline-size:var(--icon-medium);block-size:var(--icon-medium);color:var(--white);line-height:1;cursor:pointer;position:absolute;bottom:100%;left:100%}._close_button_1fmv7_62>*{width:100%;height:100%;max-width:var(--medium-icon-size);max-height:var(--medium-icon-size);fill:var(--text-color)}._overlay_1fmv7_80{display:flex;justify-content:center;align-items:center;inline-size:100dvw;block-size:100dvh;padding:var(--sp-larger);background:var(--overlay-color);background-blend-mode:multiply;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .1s linear;pointer-events:none;position:fixed;z-index:var(--z-index-overlay);top:0;left:0;cursor:pointer;overflow:hidden}@container (width <= 576px){._overlay_1fmv7_80{padding-inline:var(--sp-large)}}._overlay_1fmv7_80._display_1fmv7_105{opacity:1;pointer-events:auto;z-index:calc(var(--z-index-nav) + 1)}._x-left_1ck2i_1{left:max((100vw - var(--contents-max-width)) / 2,var(--sp-medium))}._x-right_1ck2i_4{right:max((100vw - var(--contents-max-width)) / 2,var(--sp-medium))}._x-center_1ck2i_7{top:0;right:0;bottom:0;left:0;margin:auto}._y-top_1ck2i_12{top:calc(var(--global-header-height) - var(--sp-small))}._y-bottom_1ck2i_15{bottom:var(--sp-medium)}._y-center_1ck2i_18{top:0;right:0;bottom:0;left:0;margin:auto}._popup_1ck2i_23{position:fixed;background-color:var(--white);border:1px solid var(--primary-color);padding:var(--sp-medium);border-radius:var(--radius-small);inline-size:max-content;max-inline-size:calc(var(--lower-mobile-size) / 2);block-size:max-content;opacity:0;transition:transform,opacity;transition-duration:var(--transition-duration);pointer-events:none;z-index:var(--z-index-overlay)}._popup_1ck2i_23._show_1ck2i_38{opacity:1}@keyframes _overflow_1p4x4_1{0%{overflow:hidden}99%{overflow:hidden}to{overflow:visible}}._trigger_1p4x4_12{display:grid;grid-template-columns:1fr auto;align-items:center;inline-size:100%;justify-items:start;cursor:pointer;position:relative;color:var(--link-color)}._icon_1p4x4_23{width:100%;height:100%;max-width:var(--medium-icon-size);max-height:var(--medium-icon-size);fill:var(--link-color);flex:0 0 auto;transition:all .1s}._contents_1p4x4_33{transition:height var(--accordion-toggle-duration);overflow:hidden}._opened_1p4x4_38 ._icon_1p4x4_23{transform:rotate(180deg)}._opened_1p4x4_38 ._contents_1p4x4_33{animation:_overflow_1p4x4_1 var(--accordion-toggle-duration);animation-fill-mode:forwards}._tabs_1d9po_1{display:flex;background-color:var(--background-color)}._tabs_1d9po_1>button[role=tab]{border:none;background-color:transparent;font-size:1rem;padding:.5rem 1rem;cursor:pointer}._tabs_1d9po_1>button[role=tab]._active_1d9po_12{cursor:auto}._container_15pug_1{position:relative;display:grid;width:100%;height:100%;background-color:var(--base-color);text-decoration:none}._no_image_3evh4_1{display:flex;justify-content:center;align-items:center;gap:var(--sp-small);width:100%;height:100%;background-color:var(--light-gray);font-size:large}._no_image_3evh4_1>svg{width:var(--sp-large);height:var(--sp-large);fill:var(--gray)}._no_image_3evh4_1>span{color:var(--gray)}._container_2ogwb_1{width:100%}@container (width <= 576px){._container_2ogwb_1{aspect-ratio:var(--mobile-aspect--ratio)}}@container (576px <= width){._container_2ogwb_1{aspect-ratio:var(--tablet-aspect--ratio)}}@container (992px <= width){._container_2ogwb_1{aspect-ratio:var(--desktop-aspect--ratio)}}._container_2ogwb_1>img{width:100%;height:100%;object-fit:cover}@container (width <= 576px){._container_2ogwb_1>img{aspect-ratio:var(--mobile-aspect--ratio)}}@container (576px <= width){._container_2ogwb_1>img{aspect-ratio:var(--tablet-aspect--ratio)}}@container (992px <= width){._container_2ogwb_1>img{aspect-ratio:var(--desktop-aspect--ratio)}}._author_info_c6l8f_1{display:inline-flex;flex-direction:var(--author-info-direction);align-items:center;word-wrap:normal;gap:var(--sp-small)}._author_info_c6l8f_1 ._thumbnail_c6l8f_8{width:var(--thumbnail-size);height:var(--thumbnail-size);object-fit:cover}._author_info_c6l8f_1 ._thumbnail_c6l8f_8._circle_c6l8f_13{border-radius:50%}._author_info_c6l8f_1>span{margin:0;padding:0;color:var(--author-name-color);font-size:var(--author-name-font-size);font-weight:var(--author-name-font-weight)}._author_info_c6l8f_1>span:before{content:attr(data-preposition);margin-inline-end:var(--sp-min)}._heading_wp258_1{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;block-size:max-content}._heading_wp258_1>h2{color:var(--heading-color);font-size:var(--heading-font-size);font-weight:var(--heading-font-weight);margin:0}._metadata_list_1aazi_1{--icon-color: var(--disable-text-color);display:flex;align-items:center;gap:var(--sp-small)}._icon_1aazi_8{flex:0 0 var(--icon-size);width:100%;height:100%;max-width:var(--icon-size);max-height:var(--icon-size);fill:var(--icon-color)}._list_1aazi_17{display:flex;flex-wrap:wrap;gap:var(--sp-small) var(--sp-medium)}._list_1aazi_17 ._list_item_1aazi_22{line-height:1;background-color:var(--label-background-color);padding:var(--label-padding);color:var(--label-color);font-size:var(--label-font-size);font-weight:var(--label-font-weight)}._list_1aazi_17 ._list_item_1aazi_22._rounded_1aazi_30{border-radius:calc(var(--bv) / 2)}._list_1aazi_17 ._list_item_1aazi_22._delimiter_1aazi_33:not(:last-child):after{content:attr(data-delimiter);margin-inline-start:var(--sp-medium)}._posted_date_108g0_1{display:inline-flex;align-items:flex-end;color:var(--date-color);font-size:var(--date-font-size);font-weight:var(--date-font-weight)}._excerpt_hmmtv_1{color:var(--excerpt-color);font-size:var(--excerpt-font-size)}._excerpt_hmmtv_1>*{display:-webkit-box;-webkit-line-clamp:var(--excerpt-row);-webkit-box-orient:vertical;overflow:hidden;margin:0}._excerpt_hmmtv_1>*:not(:first-child){display:none}._container_1g9t2_1{grid-template-columns:1fr 1fr;grid-template-rows:0 auto auto auto 1fr auto auto;grid-template-areas:"category category" "thumbnail thumbnail" "heading heading" "tag tag" "excerpt excerpt" "date author"}._container_1g9t2_1:hover ._thumbnail_1g9t2_6{opacity:.8}@container (576px <= width){._container_1g9t2_1._pickup_1g9t2_10{grid-template-rows:auto 0 1fr auto auto auto auto;aspect-ratio:2.85/1;position:relative}._container_1g9t2_1._pickup_1g9t2_10>*:not(._thumbnail_1g9t2_6):not(._category_1g9t2_15){position:relative;padding-inline:var(--sp-medium)}._container_1g9t2_1._pickup_1g9t2_10 ._date_1g9t2_19,._container_1g9t2_1._pickup_1g9t2_10 ._author_1g9t2_20{padding-block-end:var(--sp-medium)}._container_1g9t2_1._pickup_1g9t2_10 ._thumbnail_1g9t2_6{width:100%;position:absolute;top:0;left:0;margin:0}._container_1g9t2_1._pickup_1g9t2_10 ._thumbnail_1g9t2_6:after{content:"";display:block;width:100%;height:100%;position:absolute;top:0;left:0;mix-blend-mode:screen;background-image:linear-gradient(to bottom,#fff0 38%,#ffffffe6)}._container_1g9t2_1._pickup_1g9t2_10 ._heading_1g9t2_41{align-self:end;font-size:xx-large}}._thumbnail_1g9t2_6{margin-block-end:var(--sp-medium);transition:opacity var(--animation-duration)}._category_1g9t2_15{position:absolute;top:0;left:0}._heading_1g9t2_41{margin-block-end:var(--sp-min)}._excerpt_1g9t2_62{margin-block-start:var(--sp-medium)}._author_1g9t2_20{justify-content:flex-end}._date_1g9t2_19,._author_1g9t2_20{margin-block-start:var(--sp-medium)}._container_ouyg9_1{grid-template-columns:auto auto;grid-template-rows:auto auto auto auto auto 1fr;grid-template-areas:"thumbnail thumbnail" "date author" "heading heading" "category category" "tag tag" "excerpt excerpt";gap:var(--sp-small)}._container_ouyg9_1:hover ._thumbnail_ouyg9_7{opacity:.8}@container (576px <= width){._container_ouyg9_1._pickup_ouyg9_11{grid-template-columns:calc((100% - var(--sp-larger) * 2) / 3) auto auto;grid-template-rows:auto auto auto auto 1fr;grid-template-areas:"thumbnail date author" "thumbnail heading heading" "thumbnail category category" "thumbnail tag tag" "thumbnail excerpt excerpt";column-gap:var(--sp-larger)}._container_ouyg9_1._pickup_ouyg9_11 ._thumbnail_ouyg9_7{margin-inline-end:var(--sp-larger);margin-block-end:0}._container_ouyg9_1._pickup_ouyg9_11 ._heading_ouyg9_21{font-size:xx-large}}._date_ouyg9_26{align-items:center}._thumbnail_ouyg9_7{transition:opacity var(--animation-duration);margin-block-end:var(--sp-small)}._thumbnail_ouyg9_7>*{border-radius:var(--bv)}._heading_ouyg9_21{margin-block-end:var(--sp-small)}._wrapper_1gqog_1{display:block;width:100%;height:100%;position:relative;box-shadow:0 0 var(--sp-medium) 0 rgba(var(--black-rgb),.1)}._wrapper_1gqog_1:before,._wrapper_1gqog_1:after{content:"";display:block;background-color:var(--primary-color);position:absolute;transition:all var(--animation-duration);width:0;height:2px}._wrapper_1gqog_1:before{top:-2px;left:-2px}._wrapper_1gqog_1:after{bottom:-2px;right:-2px}._wrapper_1gqog_1:hover:before,._wrapper_1gqog_1:hover:after{width:calc(100% + 4px)}._wrapper_1gqog_1:hover ._container_1gqog_28:before,._wrapper_1gqog_1:hover ._container_1gqog_28:after{height:calc(100% + 4px)}._wrapper_1gqog_1:hover ._overlay_1gqog_31,._wrapper_1gqog_1:hover ._excerpt_1gqog_32{opacity:1}@container (576px <= width){._wrapper_1gqog_1._pickup_1gqog_36{aspect-ratio:21/9}._wrapper_1gqog_1._pickup_1gqog_36 ._container_1gqog_28{grid-template-rows:0 0 0 auto auto 1fr 0;grid-template-areas:"excerpt" "category" "thumbnail" "heading" "date" "tag" "author"}._wrapper_1gqog_1._pickup_1gqog_36 ._thumbnail_1gqog_43{opacity:.4;position:absolute;top:0;left:0}._wrapper_1gqog_1._pickup_1gqog_36 ._heading_1gqog_49,._wrapper_1gqog_1._pickup_1gqog_36 ._date_1gqog_50,._wrapper_1gqog_1._pickup_1gqog_36 ._tag_1gqog_51,._wrapper_1gqog_1._pickup_1gqog_36 ._author_1gqog_52,._wrapper_1gqog_1._pickup_1gqog_36 ._category_1gqog_53{position:relative;z-index:2}._wrapper_1gqog_1._pickup_1gqog_36 ._category_1gqog_53,._wrapper_1gqog_1._pickup_1gqog_36 ._author_1gqog_52{position:absolute}._wrapper_1gqog_1._pickup_1gqog_36 ._excerpt_1gqog_32{display:flex;align-items:flex-end;padding-block-end:var(--sp-large)}._wrapper_1gqog_1._pickup_1gqog_36 ._category_1gqog_53{top:0;left:0}._wrapper_1gqog_1._pickup_1gqog_36 ._author_1gqog_52{margin:0;bottom:var(--sp-large);right:var(--sp-large)}._wrapper_1gqog_1._pickup_1gqog_36 ._heading_1gqog_49{padding-block-start:var(--sp-large);font-size:xx-large}._wrapper_1gqog_1._pickup_1gqog_36 ._tag_1gqog_51{display:flex;align-items:flex-start;margin:0}}._container_1gqog_28{grid-template-columns:1fr;grid-template-rows:0 fit-content(55%) auto auto 1fr auto auto;grid-template-areas:"excerpt" "thumbnail" "date" "heading" "tag" "author" "category";text-align:center;position:relative;height:100%}._container_1gqog_28:before,._container_1gqog_28:after{content:"";display:block;background-color:var(--primary-color);position:absolute;transition:all var(--animation-duration);width:2px;height:0}._container_1gqog_28:before{bottom:-2px;left:-2px}._container_1gqog_28:after{top:-2px;right:-2px}._overlay_1gqog_31,._excerpt_1gqog_32{width:100%;max-height:100%;position:absolute;opacity:1;aspect-ratio:4/3}@container (992px <= width){._overlay_1gqog_31,._excerpt_1gqog_32{opacity:0}}._date_1gqog_50{display:flex;justify-content:center;margin-block:calc(var(--bv) * 2) var(--bv)}._heading_1gqog_49{padding:0 calc(var(--bv) * 2)}._excerpt_1gqog_32{display:flex;justify-content:center;align-items:center;height:100%;padding:0 calc(var(--bv) * 2);position:absolute;top:0}._author_1gqog_52{justify-content:center;margin-block:var(--sp-large)}._category_1gqog_53{display:flex;justify-content:center}._overlay_1gqog_31{background-image:linear-gradient(to bottom,rgb(var(--black-rgb),0),rgba(var(--black-rgb),.5) 66%,rgba(var(--black-rgb),.8));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}._tag_1gqog_51{display:flex;align-items:center;justify-content:center;margin-block:var(--sp-medium)}._container_9fac4_1{grid-template-columns:auto 1fr;grid-template-rows:fit-content(55%) auto auto 1fr auto auto;grid-template-areas:"thumbnail thumbnail" "date category" "heading heading" "excerpt excerpt" "tag tag" "author author";box-shadow:0 0 1px rgba(var(--black-rgb),.4);height:100%;transition:box-shadow var(--animation-duration)}._container_9fac4_1:hover{box-shadow:0 0 var(--sp-medium) 2px rgba(var(--black-rgb),.2)}._container_9fac4_1:hover ._thumbnail_9fac4_12{opacity:.8}@container (576px <= width){._container_9fac4_1._pickup_9fac4_16{grid-template-rows:auto auto 1fr auto auto;grid-template-columns:fit-content(50%) auto 1fr;grid-template-areas:"thumbnail date category" "thumbnail heading heading" "thumbnail excerpt excerpt" "thumbnail tag tag" "thumbnail author author"}}@container (992px <= width){._container_9fac4_1._pickup_9fac4_16{grid-template-columns:calc(66.666% - 2 * var(--sp-small)) auto 1fr}}._thumbnail_9fac4_12{transition:opacity var(--animation-duration)}._heading_9fac4_32,._tag_9fac4_33,._excerpt_9fac4_34,._author_9fac4_35{margin-block:var(--sp-small);padding-inline:var(--sp-large)}._date_9fac4_40,._category_9fac4_41{padding:var(--sp-large);padding-bottom:0}._date_9fac4_40{padding-right:var(--sp-min)}._category_9fac4_41{padding-left:var(--sp-min)}._category_9fac4_41:before{content:"/";color:var(--gray);font-size:small}._author_9fac4_35{padding-bottom:var(--sp-large)}._container_96xud_1{grid-template-columns:auto 1fr;grid-template-rows:fit-content(62%) auto auto auto 1fr auto;grid-template-areas:"thumbnail thumbnail" "category tag" "heading heading" "excerpt excerpt" "author date";gap:var(--sp-small);height:100%}._container_96xud_1:hover ._thumbnail_96xud_8 img{filter:grayscale(20%)}@container (576px <= width){._container_96xud_1._pickup_96xud_12{grid-template-columns:1fr;grid-template-rows:0 1fr auto;grid-template-areas:"thumbnail" "heading" "date";gap:0;aspect-ratio:21/9}._container_96xud_1._pickup_96xud_12 ._thumbnail_96xud_8{position:absolute;top:0;left:0}._container_96xud_1._pickup_96xud_12 ._thumbnail_96xud_8:before{content:"";display:block;width:100%;height:100%;background-color:var(--gray);mix-blend-mode:multiply;position:absolute;top:0;left:0;z-index:1;transition:opacity var(--animation-duration);opacity:.3;pointer-events:none}._container_96xud_1._pickup_96xud_12:hover ._thumbnail_96xud_8:before{opacity:.1}._container_96xud_1._pickup_96xud_12 ._heading_96xud_42,._container_96xud_1._pickup_96xud_12 ._date_96xud_43{position:relative;z-index:2}._container_96xud_1._pickup_96xud_12 ._heading_96xud_42{display:flex;justify-content:flex-start;align-items:flex-end;margin-block-start:var(--sp-medium);margin-inline:var(--sp-large);font-size:xx-large}._container_96xud_1._pickup_96xud_12 ._date_96xud_43{display:flex;justify-content:flex-start;align-items:flex-end;margin-block:var(--sp-medium) var(--sp-large);margin-inline:var(--sp-large);font-size:medium;color:var(--text-color)}._container_96xud_1._pickup_96xud_12 ._excerpt_96xud_64,._container_96xud_1._pickup_96xud_12 ._category_96xud_65,._container_96xud_1._pickup_96xud_12 ._tag_96xud_66,._container_96xud_1._pickup_96xud_12 ._author_96xud_67{display:none}}._container_96xud_1 ._thumbnail_96xud_8 img{transition:filter var(--animation-duration);filter:grayscale(90%)}._container_96xud_1 ._tag_96xud_66{grid-column:1/3;margin-block-start:var(--sp-small)}._container_96xud_1 ._category_96xud_65{margin-block-start:var(--sp-small)}._container_96xud_1 ._category_96xud_65+._tag_96xud_66{grid-column:2/3}._container_96xud_1 ._category_96xud_65+._tag_96xud_66:before{content:"/";color:var(--gray);font-size:small}._container_96xud_1 ._heading_96xud_42{margin-block-start:var(--sp-small)}._container_96xud_1 ._excerpt_96xud_64{margin-block-end:var(--sp-small)}._container_96xud_1 ._date_96xud_43{justify-content:flex-end}._container_qon22_1{grid-template-columns:50% 1fr auto;grid-template-rows:auto auto auto 1fr auto;grid-template-areas:"category category category" "thumbnail date date" "thumbnail heading heading" "thumbnail excerpt excerpt" "thumbnail tag author";column-gap:var(--sp-large)}._container_qon22_1:before{content:"";display:block;width:calc(100% + var(--sp-medium));height:100%;background-color:var(--primary-color);mix-blend-mode:soft-light;position:absolute;top:var(--sp-small);left:calc(-1 * var(--sp-small));transition:opacity var(--animation-duration);opacity:0;pointer-events:none}._container_qon22_1:hover:before{opacity:.1}@container (width <= 576px){._container_qon22_1{grid-template-columns:1fr auto;grid-template-rows:auto auto auto auto 1fr auto;grid-template-areas:"category category" "thumbnail thumbnail" "date date" "heading heading" "excerpt excerpt" "tag author";column-gap:0}}@container (width <= 576px){._thumbnail_qon22_34{margin-block-end:var(--sp-small)}}@container (width <= 576px){._excerpt_qon22_40{margin-block-end:var(--sp-medium)}}._category_qon22_45{position:relative;top:var(--sp-small)}._heading_qon22_50{margin-block-end:var(--sp-medium)}._tag_qon22_54{padding-block:var(--sp-small)}._container_209hm_1{grid-template-columns:28% auto auto;grid-template-rows:auto auto 1fr auto;grid-template-areas:"thumbnail date category" "thumbnail heading heading" "thumbnail excerpt excerpt" "thumbnail tag author";row-gap:var(--sp-small);column-gap:var(--sp-large)}@container (width <= 576px){._container_209hm_1{grid-template-columns:33% auto auto;column-gap:var(--sp-medium)}}._container_209hm_1:hover ._thumbnail_209hm_14{opacity:.8}._thumbnail_209hm_14{transition:opacity var(--animation-duration)}._heading_209hm_22{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}@container (width <= 576px){._category_209hm_30 li,._tag_209hm_31 li{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}}._category_209hm_30{justify-content:flex-end}@container (width <= 576px){._excerpt_209hm_44>p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}}._author_209hm_52{justify-content:flex-end}._thumbnail_uuh1j_1{margin-top:calc(-1 * var(--bv) * 2);overflow:hidden}._thumbnail_uuh1j_1 img{transition:scale var(--animation-duration)}._date_uuh1j_9{display:flex;align-items:flex-start;justify-content:flex-end;gap:var(--sp-small);margin-inline-end:var(--sp-medium);position:relative;z-index:2}._year_uuh1j_19{margin-block-start:var(--sp-small)}._month_uuh1j_23,._day_uuh1j_24{line-height:1}._month_uuh1j_23{display:flex;align-items:center}._month_uuh1j_23:after{content:"";position:relative;margin-inline-start:var(--sp-small);display:block;width:1px;height:calc(1em - var(--sp-medium));background-color:var(--text-color)}._contents_uuh1j_42{display:flex;flex-grow:1;flex-direction:column;height:auto;margin:calc(-1 * var(--sp-large)) var(--sp-medium) 0;background-color:var(--white);position:relative;z-index:1}._category_uuh1j_53{padding:var(--sp-medium)}._heading_uuh1j_57{flex-grow:1;padding:0 var(--sp-medium)}._row_uuh1j_62{display:flex;gap:var(--bv);padding:var(--sp-medium);justify-content:flex-end}._author_uuh1j_69{margin-inline-start:auto}._excerpt_uuh1j_73{--line-height: 1.8;flex:0 0 auto;line-height:var(--line-height);height:calc(var(--line-height) * 3 * 1em + var(--sp-medium) * 2);padding:var(--sp-medium);border-block-start:1px solid var(--border-color)}._container_uuh1j_82{display:flex;flex-direction:column;width:100%;height:100%;position:relative}._container_uuh1j_82:hover ._thumbnail_uuh1j_1 img{scale:1.1}@container (576px <= width){._container_uuh1j_82._pickup_uuh1j_93{aspect-ratio:16/9;justify-content:center;align-items:flex-end}._container_uuh1j_82._pickup_uuh1j_93 ._thumbnail_uuh1j_1{margin:0;position:absolute;top:0;left:0}._container_uuh1j_82._pickup_uuh1j_93 ._contents_uuh1j_42{flex:0 0 auto;margin:0;margin-block-start:calc(-1 * var(--sp-medium));background-color:#ffffffb3}._container_uuh1j_82._pickup_uuh1j_93 ._heading_uuh1j_57>h2{font-size:xx-large}}@container (992px <= width){._container_uuh1j_82._pickup_uuh1j_93{aspect-ratio:21/9}}._container_1hse0_1{grid-template-columns:auto 1fr;grid-template-rows:0 auto 1fr auto auto fit-content(20%);grid-template-areas:"thumbnail thumbnail" "heading heading" "date author" "category category" "tag tag" "excerpt excerpt";position:relative;width:100%;aspect-ratio:4/3;overflow:hidden}._container_1hse0_1:hover:before{opacity:0}._container_1hse0_1:hover:after{opacity:1}._container_1hse0_1:hover ._thumbnail_1hse0_16 img{filter:blur(2px);scale:1.04}._container_1hse0_1:hover ._category_1hse0_20,._container_1hse0_1:hover ._tag_1hse0_21,._container_1hse0_1:hover ._excerpt_1hse0_22{opacity:1}._container_1hse0_1:before,._container_1hse0_1:after{content:"";display:block;width:100%;height:100%;aspect-ratio:4/3;mix-blend-mode:hard-light;position:absolute;top:0;left:0;transition:all var(--animation-duration);z-index:2}._container_1hse0_1:before{background-image:linear-gradient(to bottom,rgba(var(--black-rgb),.6),rgba(var(--black-rgb),0) 62%,rgba(var(--black-rgb),0));opacity:1}._container_1hse0_1:after{background-color:rgba(var(--black-rgb),.8);opacity:0}._container_1hse0_1>*:not(._thumbnail_1hse0_16){transition:opacity var(--animation-duration);position:relative;z-index:3;padding-inline:var(--sp-medium)}@container (576px <= width){._container_1hse0_1._pickup_1hse0_53{aspect-ratio:16/9}@container (992px <= width){._container_1hse0_1._pickup_1hse0_53{aspect-ratio:2.85/1}}._container_1hse0_1._pickup_1hse0_53>*:not(._thumbnail_1hse0_16){padding-left:var(--sp-large);padding-right:var(--sp-large)}._container_1hse0_1._pickup_1hse0_53:before{aspect-ratio:16/9}@container (992px <= width){._container_1hse0_1._pickup_1hse0_53:before{aspect-ratio:2.85/1}}._container_1hse0_1._pickup_1hse0_53 ._heading_1hse0_73{font-size:xx-large}._container_1hse0_1._pickup_1hse0_53 ._tag_1hse0_21{margin-block:var(--sp-medium) var(--sp-large)}._container_1hse0_1._pickup_1hse0_53 ._excerpt_1hse0_22{padding:var(--sp-large)}}._thumbnail_1hse0_16{position:absolute;top:0;left:0;transition:filter var(--animation-duration);z-index:1}._thumbnail_1hse0_16>img{transition:scale var(--animation-duration)}._category_1hse0_20,._tag_1hse0_21,._excerpt_1hse0_22{opacity:0}._heading_1hse0_73{margin-block:var(--sp-medium)}._date_1hse0_105,._author_1hse0_106{align-items:flex-start}._author_1hse0_106{padding-left:0}._category_1hse0_20,._tag_1hse0_21{margin-block-end:var(--sp-medium)}._excerpt_1hse0_22{padding-block:var(--sp-medium);border-block-start:1px solid var(--white)}._list_h2kvz_1{--list-gap: var(--sp-large);display:grid;grid-template-rows:1fr;gap:var(--list-gap);width:100%}@keyframes _fadeIn_h2kvz_1{0%{opacity:0}to{opacity:1}}@container (width <= 576px){._list_h2kvz_1{grid-template-columns:repeat(auto-fit,100%)}}@container (576px <= width){._list_h2kvz_1{grid-template-columns:repeat(auto-fit,calc((100% - var(--list-gap) * (var(--tablet-column-number) - 1)) / var(--tablet-column-number)))}}@container (992px <= width){._list_h2kvz_1{grid-template-columns:repeat(auto-fit,calc((100% - var(--list-gap) * (var(--column-number) - 1)) / var(--column-number)))}}._list_h2kvz_1>li{opacity:0;animation-name:_fadeIn_h2kvz_1;animation-duration:1s;animation-timing-function:ease-out;animation-fill-mode:forwards}@container (width <= 576px){._list_h2kvz_1._pickup_h2kvz_39>li:first-child{grid-column:1}}@container (576px <= width){._list_h2kvz_1._pickup_h2kvz_39>li:first-child{grid-column:span var(--tablet-column-number)}}@container (992px <= width){._list_h2kvz_1._pickup_h2kvz_39>li:first-child{grid-column:span var(--column-number)}}._container_28x0r_1{--date-size: calc(var(--bv) * 7);grid-template-columns:auto 1fr auto;grid-template-rows:fit-content(50%) auto 1fr auto auto;grid-template-areas:"thumbnail thumbnail thumbnail" "date heading heading" "excerpt excerpt excerpt" "category category author" "tag tag author";height:100%;box-shadow:0 0 1px rgba(var(--black-rgb),.4);transition:box-shadow var(--animation-duration) linear}._container_28x0r_1:hover{box-shadow:0 0 var(--sp-small) 2px rgba(var(--black-rgb),.2)}@container (576px <= width){._container_28x0r_1._horizontal_28x0r_14{grid-template-columns:fit-content(50%) auto 1fr auto;grid-template-rows:auto 1fr auto auto;grid-template-areas:"thumbnail date heading heading" "thumbnail excerpt excerpt excerpt" "thumbnail category category author" "thumbnail tag tag author"}._container_28x0r_1._pickup_28x0r_19{grid-template-columns:1fr;grid-template-rows:1fr 0 0;grid-template-areas:"thumbnail" "heading" "date";text-align:left}._container_28x0r_1._pickup_28x0r_19 ._thumbnail_28x0r_25{position:relative}._container_28x0r_1._pickup_28x0r_19 ._thumbnail_28x0r_25:before{content:"";display:block;width:100%;height:100%;background-color:rgba(var(--black-rgb),.6);mix-blend-mode:multiply;pointer-events:none;position:absolute;top:0;left:0;z-index:1;transition:all var(--animation-duration)}._container_28x0r_1._pickup_28x0r_19 ._heading_28x0r_42,._container_28x0r_1._pickup_28x0r_19 ._date_28x0r_43{position:absolute;z-index:2}._container_28x0r_1._pickup_28x0r_19 ._heading_28x0r_42{padding:0;padding-right:var(--sp-medium);left:calc(var(--date-size) + var(--sp-medium) * 2);bottom:var(--sp-medium)}._container_28x0r_1._pickup_28x0r_19 ._date_28x0r_43{margin:0;bottom:var(--sp-medium);left:var(--sp-medium)}._container_28x0r_1._pickup_28x0r_19 ._excerpt_28x0r_58,._container_28x0r_1._pickup_28x0r_19 ._category_28x0r_59,._container_28x0r_1._pickup_28x0r_19 ._tag_28x0r_60,._container_28x0r_1._pickup_28x0r_19 ._author_28x0r_61{display:none}}._date_28x0r_43{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--sp-min);width:var(--date-size);height:var(--date-size);margin:var(--sp-medium);background-color:var(--black)}._date_28x0r_43>*{letter-spacing:.1em;line-height:1}._heading_28x0r_42{display:flex;align-items:center;padding:var(--sp-medium);padding-inline-start:0}._heading_28x0r_42>h2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}._category_28x0r_59,._tag_28x0r_60{margin-inline-start:var(--sp-medium);padding-block-end:var(--sp-medium)}._category_28x0r_59{align-items:flex-end}._author_28x0r_61,._excerpt_28x0r_58{padding:var(--sp-medium)}._list_18syb_1{--list-gap: var(--sp-medium);display:grid;gap:var(--list-gap);grid-template-rows:1fr;width:100%;list-style:none;grid-auto-flow:dense}@keyframes _fadeIn_18syb_1{0%{opacity:0}to{opacity:1}}@container (width <= 576px){._list_18syb_1{display:flex;flex-direction:column;gap:var(--sp-large)}}@container (576px <= width){._list_18syb_1{grid-template-columns:repeat(auto-fit,calc((100% - var(--list-gap) * (var(--tablet-column-number) - 1)) / var(--tablet-column-number)))}}@container (992px <= width){._list_18syb_1{grid-template-columns:repeat(auto-fit,calc((100% - var(--list-gap) * (var(--column-number) - 1)) / var(--column-number)))}}._list_18syb_1>li{animation-name:_fadeIn_18syb_1;animation-duration:1s;animation-timing-function:ease-out;animation-fill-mode:backwards}
@@ -1,93 +1,64 @@
1
- // フォーム部品の型は @geckou/ui-core が正。Vue / React で共通のため、ここでは再エクスポートのみ行う
2
- export type {
3
- StateVariation,
4
- BorderStyle,
5
- BaseStyle,
6
- StyleForEachStatus,
7
- InputBoxStyle,
8
- InputBoxStyleForEachStatus,
9
- ButtonStyle,
10
- ButtonStyleForEachStatus,
11
- CheckBoxStyle,
12
- CheckBoxStyleForEachStatus,
13
- RadioButtonStyle,
14
- RadioButtonStyleForEachStatus,
15
- SelectValue,
16
- Option,
17
- Validate,
18
- Validates,
19
- InputValue,
20
- DateObject,
21
- DateType,
22
- ValidationResult,
23
- } from '@geckou/ui-core'
24
-
25
- // ArticleList は Vue のみの機能のため、型もこのパッケージで持つ
1
+ export type { StateVariation, BorderStyle, BaseStyle, StyleForEachStatus, InputBoxStyle, InputBoxStyleForEachStatus, ButtonStyle, ButtonStyleForEachStatus, CheckBoxStyle, CheckBoxStyleForEachStatus, RadioButtonStyle, RadioButtonStyleForEachStatus, SelectValue, Option, Validate, Validates, InputValue, DateObject, DateType, ValidationResult, } from '@geckou/ui-core';
26
2
  export type Category = {
27
- id: string
28
- name: string
29
- }
30
-
3
+ id: string;
4
+ name: string;
5
+ };
31
6
  export type PostConfig = {
32
- article_page_path: string
33
- query_key_name: string
34
- useAuthor?: boolean
35
- useCategory?: boolean
36
- useTag?: boolean
37
- /** useAuthor のエイリアス(カード内部で参照される) */
38
- author?: boolean
39
- /** useCategory のエイリアス(カード内部で参照される) */
40
- category?: boolean
41
- /** useTag のエイリアス(カード内部で参照される) */
42
- tag?: boolean
43
- }
44
-
7
+ article_page_path: string;
8
+ query_key_name: string;
9
+ useAuthor?: boolean;
10
+ useCategory?: boolean;
11
+ useTag?: boolean;
12
+ /** useAuthor のエイリアス(カード内部で参照される) */
13
+ author?: boolean;
14
+ /** useCategory のエイリアス(カード内部で参照される) */
15
+ category?: boolean;
16
+ /** useTag のエイリアス(カード内部で参照される) */
17
+ tag?: boolean;
18
+ };
45
19
  export type ListSettings = {
46
- domainToUse: string
47
- postConfig: PostConfig
48
- isEnabledPickUp: boolean
49
- }
50
-
20
+ domainToUse: string;
21
+ postConfig: PostConfig;
22
+ isEnabledPickUp: boolean;
23
+ };
51
24
  /** WordPress REST API のレンダリング済みフィールド */
52
25
  export type RenderedField = {
53
- rendered: string
54
- }
55
-
26
+ rendered: string;
27
+ };
56
28
  /** _embedded['wp:term'] の要素 */
57
29
  export type WpTerm = {
58
- id: string | number
59
- name: string
60
- taxonomy?: string
61
- }
62
-
30
+ id: string | number;
31
+ name: string;
32
+ taxonomy?: string;
33
+ };
63
34
  /** _embedded['author'] の要素 */
64
35
  export type WpAuthor = {
65
- name: string
66
- avatar_urls?: Record<string, string>
67
- }
68
-
36
+ name: string;
37
+ avatar_urls?: Record<string, string>;
38
+ };
69
39
  /** _embedded['wp:featuredmedia'] の要素 */
70
40
  export type WpMedia = {
71
- alt_text?: string
72
- media_details?: {
73
- sizes?: Record<string, { source_url?: string }>
74
- }
75
- }
76
-
41
+ alt_text?: string;
42
+ media_details?: {
43
+ sizes?: Record<string, {
44
+ source_url?: string;
45
+ }>;
46
+ };
47
+ };
77
48
  /**
78
49
  * WordPress REST API(?_embed 付き)の投稿。
79
50
  * 実際のレスポンスは環境ごとにフィールドが増減するため、既知のフィールドのみ定義する
80
51
  */
81
52
  export type Article = {
82
- id: string | number
83
- date: string
84
- title: RenderedField
85
- excerpt: RenderedField
86
- categories?: string[]
87
- _embedded?: {
88
- author?: WpAuthor[]
89
- 'wp:featuredmedia'?: WpMedia[]
90
- 'wp:term'?: WpTerm[][]
91
- }
92
- [key: string]: unknown
93
- }
53
+ id: string | number;
54
+ date: string;
55
+ title: RenderedField;
56
+ excerpt: RenderedField;
57
+ categories?: string[];
58
+ _embedded?: {
59
+ author?: WpAuthor[];
60
+ 'wp:featuredmedia'?: WpMedia[];
61
+ 'wp:term'?: WpTerm[][];
62
+ };
63
+ [key: string]: unknown;
64
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geckou/ui-vue",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "A set of reusable Vue UI components (forms & article lists) by Geckou",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -26,19 +26,27 @@
26
26
  "access": "public"
27
27
  },
28
28
  "peerDependencies": {
29
- "vue": "^3.0.0"
29
+ "vue": "^3.5.0"
30
30
  },
31
31
  "dependencies": {
32
- "@geckou/ui-core": "^0.1.0",
32
+ "@geckou/ui-core": "^0.2.0",
33
33
  "date-fns": "^4.4.0"
34
34
  },
35
35
  "scripts": {
36
- "clean": "rm -rf dist",
37
- "convert-alias": "node scripts/convert-alias-to-relative.js",
38
- "build": "yarn clean && rsync -av --exclude 'main.ts' --exclude 'App.vue' --exclude '.DS_Store' src/ dist/ && yarn convert-alias",
39
- "type-check": "vue-tsc --noEmit",
36
+ "build": "vite build",
37
+ "lint": "eslint src",
38
+ "lint:fix": "eslint src --fix",
40
39
  "prepublishOnly": "yarn build",
41
40
  "test": "vitest run",
42
- "test:watch": "vitest"
41
+ "test:watch": "vitest",
42
+ "type-check": "vue-tsc --noEmit"
43
+ },
44
+ "exports": {
45
+ ".": {
46
+ "types": "./dist/index.d.ts",
47
+ "default": "./dist/index.js"
48
+ },
49
+ "./style.css": "./dist/style.css",
50
+ "./package.json": "./package.json"
43
51
  }
44
52
  }
@@ -1,6 +0,0 @@
1
- @function calcClamp($minValuePx, $maxValuePx, $minViewport, $maxViewport) {
2
- $variablePart: calc(($maxValuePx - $minValuePx) / ($maxViewport - $minViewport));
3
- $constant: calc(($maxValuePx - $maxViewport * $variablePart) / 16);
4
-
5
- @return clamp(#{calc($minValuePx / 16)}rem, #{$constant}rem + #{100 * $variablePart}vw, #{calc($maxValuePx / 16)}rem);
6
- }
@@ -1,33 +0,0 @@
1
- @mixin textEllipsis($line: 1) {
2
- display: -webkit-box;
3
- -webkit-line-clamp: $line;
4
- -webkit-box-orient: vertical;
5
- overflow: hidden;
6
- }
7
-
8
- @mixin icon($size: var(--medium-icon-size), $color: var(--text-color)) {
9
- width : 100%;
10
- height : 100%;
11
- max-width : $size;
12
- max-height: $size;
13
- fill : $color;
14
- }
15
-
16
- $tabletLowerWidth : 576px;
17
- $desktopLowerWidth: 992px;
18
- $contentsMaxWidth : 1200px;
19
-
20
- @mixin media($range) {
21
- @if $range == 'mobile' {
22
- @container (width <= #{$tabletLowerWidth}) { @content; }
23
- } @else if $range == 'tablet' {
24
- @container (#{$tabletLowerWidth} <= width) { @content; }
25
- } @else if $range == 'desktop' {
26
- @container (#{$desktopLowerWidth} <= width) { @content; }
27
- }
28
- }
29
-
30
-
31
-
32
-
33
-