lism-css 0.3.4 → 0.5.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 (253) hide show
  1. package/README.md +2 -2
  2. package/bin/build-config.js +157 -0
  3. package/bin/build-css.cjs +92 -0
  4. package/bin/build-css.js +90 -0
  5. package/bin/cli.mjs +69 -0
  6. package/bin/script-build-css.js +6 -0
  7. package/config/__prop_list.js +44 -0
  8. package/config/__props.scss +25 -0
  9. package/config/default-config.js +9 -0
  10. package/config/defaults/__props-memo.js +45 -0
  11. package/config/defaults/props.js +370 -0
  12. package/config/defaults/states.js +42 -0
  13. package/config/defaults/tokens.js +26 -0
  14. package/config/helper/getSvgUrl.js +28 -0
  15. package/config/helper/minifyHtml.js +22 -0
  16. package/config/helper.js +67 -0
  17. package/config/index.js +15 -0
  18. package/config.js +2 -0
  19. package/dist/components/Accordion/AccIcon.js +1 -1
  20. package/dist/components/Accordion/getProps.js +15 -17
  21. package/dist/components/Accordion/index.js +4 -4
  22. package/dist/components/Accordion/index2.js +28 -23
  23. package/dist/components/Accordion/setAccordion.js +11 -11
  24. package/dist/components/Box/index.js +5 -6
  25. package/dist/components/Center/index.js +2 -2
  26. package/dist/components/Cluster/index.js +8 -0
  27. package/dist/components/Columns/index.js +5 -6
  28. package/dist/components/Container/index.js +3 -3
  29. package/dist/components/Dummy/index.js +9 -14
  30. package/dist/components/Dummy/texts.js +6 -6
  31. package/dist/components/Flex/index.js +5 -6
  32. package/dist/components/Flow/index.js +8 -0
  33. package/dist/components/Frame/index.js +5 -6
  34. package/dist/components/Grid/index.js +5 -6
  35. package/dist/components/HTML/index.js +5 -0
  36. package/dist/components/HTML/index2.js +44 -0
  37. package/dist/components/Layer/index.js +5 -5
  38. package/dist/components/LinkBox/index.js +6 -6
  39. package/dist/components/Lism/Link.js +5 -5
  40. package/dist/components/Lism/Text.js +4 -4
  41. package/dist/components/Lism/index.js +5 -4
  42. package/dist/components/Modal/Body.js +5 -5
  43. package/dist/components/Modal/CloseBtn.js +13 -0
  44. package/dist/components/Modal/Inner.js +5 -5
  45. package/dist/components/Modal/OpenBtn.js +9 -0
  46. package/dist/components/Modal/getProps.js +12 -13
  47. package/dist/components/Modal/index.js +4 -5
  48. package/dist/components/Modal/index2.js +12 -12
  49. package/dist/components/Stack/index.js +5 -5
  50. package/dist/components/Tabs/Tab.js +7 -9
  51. package/dist/components/Tabs/TabList.js +4 -4
  52. package/dist/components/Tabs/TabPanel.js +6 -7
  53. package/dist/components/Tabs/getProps.js +1 -8
  54. package/dist/components/Tabs/index2.js +14 -23
  55. package/dist/components/WithSide/index.js +4 -5
  56. package/dist/components/atomic/Decorator/getProps.js +13 -0
  57. package/dist/components/{Decorator → atomic/Decorator}/index.js +1 -1
  58. package/dist/components/atomic/Divider/getProps.js +10 -0
  59. package/dist/components/atomic/Divider/index.js +9 -0
  60. package/dist/components/atomic/Icon/getProps.js +59 -0
  61. package/dist/components/{Icon → atomic/Icon}/index.js +1 -1
  62. package/dist/components/atomic/Media/getProps.js +9 -0
  63. package/dist/components/atomic/Media/index.js +9 -0
  64. package/dist/components/atomic/Spacer/getProps.js +21 -0
  65. package/dist/components/atomic/Spacer/index.js +9 -0
  66. package/dist/components/getFilterProps.js +8 -18
  67. package/dist/components/getLayoutProps.js +27 -0
  68. package/dist/config/default-config.js +11 -0
  69. package/dist/config/defaults/props.js +342 -0
  70. package/dist/config/defaults/states.js +36 -0
  71. package/dist/config/defaults/tokens.js +29 -0
  72. package/dist/config/helper/getSvgUrl.js +4 -0
  73. package/dist/config/helper.js +31 -0
  74. package/dist/config/index.js +11 -0
  75. package/dist/index.js +50 -50
  76. package/dist/lib/getBpData.js +1 -1
  77. package/dist/lib/getLismProps.js +109 -177
  78. package/dist/lib/getMaybeCssVar.js +30 -54
  79. package/dist/lib/getMaybeTokenValue.js +26 -0
  80. package/dist/lib/getUtilKey.js +13 -0
  81. package/dist/lib/isPresetValue.js +3 -3
  82. package/dist/lib/isTokenValue.js +6 -5
  83. package/package.json +16 -3
  84. package/packages/astro/Accordion/AccBody.astro +5 -6
  85. package/packages/astro/Accordion/AccHeader.astro +4 -4
  86. package/packages/astro/Accordion/AccHeaderLabel.astro +12 -0
  87. package/packages/astro/Accordion/AccIcon.astro +1 -1
  88. package/packages/astro/Accordion/AccLabel.astro +1 -1
  89. package/packages/astro/Accordion/Accordion.astro +1 -1
  90. package/packages/astro/Accordion/index.js +2 -1
  91. package/packages/astro/Box/Box.astro +2 -3
  92. package/packages/astro/Center/Center.astro +2 -8
  93. package/packages/astro/Cluster/Cluster.astro +5 -0
  94. package/packages/astro/Cluster/index.js +1 -0
  95. package/packages/astro/Columns/Columns.astro +2 -8
  96. package/packages/astro/Container/Container.astro +3 -4
  97. package/packages/astro/Decorator/Decorator.astro +2 -2
  98. package/packages/astro/Divider/Divider.astro +3 -3
  99. package/packages/astro/Dummy/Dummy.astro +3 -2
  100. package/packages/astro/Flex/Flex.astro +1 -10
  101. package/packages/astro/Flex/index.js +0 -1
  102. package/packages/astro/Flow/Flow.astro +5 -0
  103. package/packages/astro/Flow/index.js +1 -0
  104. package/packages/astro/Frame/Frame.astro +1 -8
  105. package/packages/astro/Grid/Grid.astro +1 -9
  106. package/packages/astro/Grid/index.js +0 -1
  107. package/packages/astro/HTML/a.astro +5 -0
  108. package/packages/astro/HTML/button.astro +5 -0
  109. package/packages/astro/HTML/div.astro +5 -0
  110. package/packages/astro/HTML/h.astro +6 -0
  111. package/packages/astro/HTML/img.astro +5 -0
  112. package/packages/astro/HTML/index.js +12 -0
  113. package/packages/astro/HTML/li.astro +5 -0
  114. package/packages/astro/HTML/ol.astro +5 -0
  115. package/packages/astro/HTML/p.astro +5 -0
  116. package/packages/astro/HTML/span.astro +5 -0
  117. package/packages/astro/HTML/ul.astro +5 -0
  118. package/packages/astro/Icon/Icon.astro +3 -5
  119. package/packages/astro/Layer/Layer.astro +3 -10
  120. package/packages/astro/LinkBox/LinkBox.astro +4 -5
  121. package/packages/astro/Lism/Link.astro +2 -2
  122. package/packages/astro/Lism/Lism.astro +4 -3
  123. package/packages/astro/Lism/Text.astro +2 -2
  124. package/packages/astro/Lism/index.js +0 -1
  125. package/packages/astro/{Lism → Media}/Media.astro +1 -9
  126. package/packages/astro/Media/index.js +1 -0
  127. package/packages/astro/Modal/Body.astro +4 -5
  128. package/packages/astro/Modal/CloseBtn.astro +24 -0
  129. package/packages/astro/Modal/Inner.astro +4 -4
  130. package/packages/astro/Modal/Modal.astro +4 -5
  131. package/packages/astro/Modal/OpenBtn.astro +14 -0
  132. package/packages/astro/Modal/index.js +3 -4
  133. package/packages/astro/OverlayLink/OverlayLink.astro +1 -1
  134. package/packages/astro/Spacer/Spacer.astro +3 -3
  135. package/packages/astro/Stack/Stack.astro +2 -4
  136. package/packages/astro/Tabs/Tab.astro +2 -11
  137. package/packages/astro/Tabs/TabList.astro +4 -4
  138. package/packages/astro/Tabs/TabPanel.astro +4 -4
  139. package/packages/astro/Tabs/Tabs.astro +6 -10
  140. package/packages/astro/Test/Test.astro +1 -1
  141. package/packages/astro/Test/TestItem.astro +1 -1
  142. package/packages/astro/WithSide/WithSide.astro +1 -8
  143. package/packages/astro/index.js +6 -2
  144. package/packages/types/index.d.ts +31 -38
  145. package/src/scss/{_props.scss → __props copy.scss } +146 -169
  146. package/src/scss/__props.scss +786 -0
  147. package/src/scss/_auto_output.scss +102 -76
  148. package/src/scss/_prop-config.scss +862 -0
  149. package/src/scss/_setting.scss +2 -3
  150. package/src/scss/_with_layer.scss +19 -14
  151. package/src/scss/base/_dom.scss +35 -26
  152. package/src/scss/base/_property.scss +4 -16
  153. package/src/scss/base/_tokens.scss +105 -116
  154. package/src/scss/base/index.scss +18 -42
  155. package/src/scss/base/set/_hover.scss +13 -0
  156. package/src/scss/base/set/_innerRs.scss +3 -0
  157. package/src/scss/base/set/_mask.scss +6 -0
  158. package/src/scss/base/set/_plain.scss +14 -0
  159. package/src/scss/base/set/_shadow.scss +27 -0
  160. package/src/scss/base/set/_snap.scss +8 -0
  161. package/src/scss/base/set/_transition.scss +20 -0
  162. package/src/scss/main.scss +0 -1
  163. package/src/scss/main_no_layer.scss +6 -14
  164. package/src/scss/modules/atomic/_divider.scss +6 -0
  165. package/src/scss/{layout → modules/atomic}/_icon.scss +3 -9
  166. package/src/scss/modules/atomic/_media.scss +3 -0
  167. package/src/scss/{layout → modules/atomic}/_spacer.scss +1 -1
  168. package/src/scss/modules/atomic/index.scss +6 -0
  169. package/src/scss/{dynamic → modules/dynamic}/_accordion.scss +24 -24
  170. package/src/scss/modules/dynamic/_modal.scss +33 -0
  171. package/src/scss/{dynamic → modules/dynamic}/_tabs.scss +4 -5
  172. package/src/scss/{layout/_flex.scss → modules/layout/_cluster.scss} +1 -4
  173. package/src/scss/modules/layout/_columns.scss +9 -0
  174. package/src/scss/modules/layout/_flex.scss +3 -0
  175. package/src/scss/modules/layout/_flow.scss +46 -0
  176. package/src/scss/{layout → modules/layout}/_frame.scss +1 -1
  177. package/src/scss/modules/layout/_grid.scss +35 -0
  178. package/src/scss/{layout → modules/layout}/_withSide.scss +3 -3
  179. package/src/scss/{layout → modules/layout}/index.scss +4 -6
  180. package/src/scss/modules/state/_container.scss +37 -0
  181. package/src/scss/{state → modules/state}/_linkbox.scss +1 -1
  182. package/src/scss/modules/state/index.scss +5 -0
  183. package/src/scss/props/_border.scss +25 -40
  184. package/src/scss/props/_hover.scss +12 -23
  185. package/src/scss/props/_size.scss +17 -0
  186. package/src/scss/props/index.scss +1 -2
  187. package/src/scss/reset.scss +1 -1
  188. package/src/scss/utility/_cbox.scss +5 -4
  189. package/src/scss/utility/_hidden.scss +14 -0
  190. package/src/scss/utility/_itemDivider.scss +11 -0
  191. package/src/scss/utility/_linkExpand.scss +10 -0
  192. package/src/scss/utility/_trimHL.scss +29 -13
  193. package/src/scss/utility/index.scss +3 -45
  194. package/dist/components/Box/getProps.js +0 -7
  195. package/dist/components/Columns/getProps.js +0 -6
  196. package/dist/components/Decorator/getProps.js +0 -17
  197. package/dist/components/Divider/getProps.js +0 -11
  198. package/dist/components/Divider/index.js +0 -9
  199. package/dist/components/Flex/Cluster.js +0 -8
  200. package/dist/components/Flex/FlexItem.js +0 -8
  201. package/dist/components/Flex/getProps.js +0 -13
  202. package/dist/components/Frame/getProps.js +0 -7
  203. package/dist/components/Grid/GridItem.js +0 -9
  204. package/dist/components/Grid/getProps.js +0 -28
  205. package/dist/components/Icon/getProps.js +0 -60
  206. package/dist/components/Layer/getProps.js +0 -9
  207. package/dist/components/Lism/Media.js +0 -9
  208. package/dist/components/Modal/CloseIconBtn.js +0 -19
  209. package/dist/components/Modal/Footer.js +0 -9
  210. package/dist/components/Modal/Header.js +0 -9
  211. package/dist/components/Spacer/getProps.js +0 -21
  212. package/dist/components/Spacer/index.js +0 -9
  213. package/dist/components/WithSide/getProps.js +0 -14
  214. package/dist/components/getInsetProps.js +0 -8
  215. package/dist/components/getMediaProps.js +0 -7
  216. package/dist/components/getTransformProps.js +0 -8
  217. package/dist/config/prop_list.js +0 -386
  218. package/dist/config/tokens.js +0 -43
  219. package/dist/config.js +0 -9
  220. package/dist/css/base.css +0 -1
  221. package/dist/css/dynamic.css +0 -1
  222. package/dist/css/layout.css +0 -1
  223. package/dist/css/main.css +0 -1
  224. package/dist/css/main_no_layer.css +0 -1
  225. package/dist/css/props.css +0 -1
  226. package/dist/css/reset.css +0 -1
  227. package/dist/css/state.css +0 -1
  228. package/dist/css/utility.css +0 -1
  229. package/dist/lib/getMaybeUtilValue.js +0 -6
  230. package/packages/astro/Flex/Cluster.astro +0 -11
  231. package/packages/astro/Grid/GridItem.astro +0 -15
  232. package/packages/astro/Modal/CloseIconBtn.astro +0 -24
  233. package/packages/astro/Modal/Footer.astro +0 -14
  234. package/packages/astro/Modal/Header.astro +0 -14
  235. package/src/scss/dynamic/_modal.scss +0 -30
  236. package/src/scss/layout/_columns.scss +0 -13
  237. package/src/scss/layout/_divider.scss +0 -3
  238. package/src/scss/layout/_grid.scss +0 -9
  239. package/src/scss/props/__memo.scss +0 -15
  240. package/src/scss/props/_color.scss +0 -7
  241. package/src/scss/props/_transition.scss +0 -20
  242. package/src/scss/state/_container.scss +0 -34
  243. package/src/scss/state/_flow.scss +0 -45
  244. package/src/scss/state/_size.scss +0 -22
  245. package/src/scss/state/index.scss +0 -12
  246. /package/dist/components/{Icon → atomic/Icon}/SVG.js +0 -0
  247. /package/dist/components/{Icon → atomic/Icon}/presets.js +0 -0
  248. /package/packages/astro/{helper/index.js → helper.js} +0 -0
  249. /package/src/scss/{dynamic → modules/dynamic}/index.scss +0 -0
  250. /package/src/scss/{layout → modules/layout}/_center.scss +0 -0
  251. /package/src/scss/{layout → modules/layout}/_stack.scss +0 -0
  252. /package/src/scss/{state → modules/state}/_gutter.scss +0 -0
  253. /package/src/scss/{state → modules/state}/_layer.scss +0 -0
@@ -6,6 +6,17 @@
6
6
  @use './query' as query;
7
7
  @use './setting' as setting;
8
8
 
9
+ /*
10
+ base_type:
11
+ 0 → なし(ユーティリティクラス以外は普通のインラインスタイルのみ)
12
+ 1 → .-d{display: var(--d)}  (メリット:importantなしでbp対応できる)
13
+ 2 → .-p, [class*='-p\:'] {padding: var(--p);} の形式で、BPクラス含めて全て変数にセットするもの。
14
+ 常に変数で管理されるようになるので、他の処理と絡ませることがしやすい。
15
+ デメリット: *= は処理負荷が高い。また、途中のBPから使えるようにするにはCSS記述増える)
16
+
17
+ 3 → BPクラスには変数使わないが、文字数省略のため baseのProp classだけ変数化して *= セレクタ使う
18
+ */
19
+
9
20
  @function map_get_with_default($map, $key, $default) {
10
21
  $value: map.get($map, $key);
11
22
  @return if($value != null, $value, $default);
@@ -18,52 +29,32 @@
18
29
  @return '';
19
30
  }
20
31
 
21
- @mixin echoBaseUtil($key, $prop, $base_type, $important) {
22
- @if $base_type == 2 or $base_type == 3 {
23
- .-#{$key},
24
- [class*='-#{$key}:'] {
25
- #{$prop}: var(--#{$key}) #{get_important_str($important)};
26
- }
27
- } @else if $base_type == 1 {
28
- .-#{$key} {
29
- #{$prop}: var(--#{$key}) #{get_important_str($important)};
30
- }
31
- }
32
- }
33
-
34
- @mixin echoDetailValues($selector, $values) {
35
- #{$selector} {
36
- @each $v_p, $v_v in $values {
37
- #{$v_p}: #{$v_v};
38
- }
39
- }
40
- }
41
-
42
32
  // 各プロパティのユーティリティクラス
43
33
  @mixin echoUtilities($key, $prop, $utilities, $base_type, $important) {
44
34
  @each $ukey, $value in $utilities {
45
35
  $selector: '';
46
- $has_comma: string.index($ukey, ',');
47
36
 
48
- @if $has_comma {
49
- $ukeys: string.split($ukey, ',');
50
-
51
- @for $i from 1 through list.length($ukeys) {
52
- $_selector: '.-#{$key}\\:#{list.nth($ukeys, $i)}';
53
- @if $i == 1 {
54
- $selector: $_selector;
55
- } @else {
56
- $selector: $selector + ',' + $_selector;
57
- }
58
- }
59
- } @else {
60
- $selector: '.-#{$key}\\:#{$ukey}';
61
- }
37
+ // ,で複数指定
38
+ // $has_comma: string.index($ukey, ',');
39
+ // @if $has_comma {
40
+ // $ukeys: string.split($ukey, ',');
41
+
42
+ // @for $i from 1 through list.length($ukeys) {
43
+ // $val_key: list.nth($ukeys, $i);
44
+ // $_selector: '.-#{$key}\\:#{$val_key}';
45
+ // @if $i == 1 {
46
+ // $selector: $_selector;
47
+ // } @else {
48
+ // $selector: $selector + ',' + $_selector;
49
+ // }
50
+ // }
51
+ // } @else {
52
+ $selector: '.-#{$key}\\:#{$ukey}';
53
+ // }
62
54
 
63
55
  // valueが(prop:val)で詳細に明示されている場合
64
56
  @if (meta.type-of($value) == map) {
65
- @include echoDetailValues($selector, $value);
66
- } @else if $base_type == 2 or $base_type == 3 {
57
+ } @else if $base_type == 2 {
67
58
  // important は [class*=] についてるので不要
68
59
  #{$selector} {
69
60
  --#{$key}: #{$value};
@@ -76,33 +67,76 @@
76
67
  }
77
68
  }
78
69
 
79
- $bp_support_list: (); // list
70
+ /*
71
+ Step: 1
72
+ props リストをループ
80
73
 
74
+ - ベーススタイルの出力
75
+ - BPサポートがあれば $bp_support_list にそのプロパティを記録
76
+ */
77
+ $bp_support_list: (); // list
81
78
  @each $key, $data in setting.$props {
82
- $prop: map.get($data, prop); // 対応するCSSプロパティ名
79
+ $prop: map_get_with_default($data, prop, ''); // 対応するCSSプロパティ名
83
80
  $bp_support: map_get_with_default($data, bp, 0);
81
+ $isVar: map_get_with_default($data, isVar, 0);
82
+ $alwaysVar: map_get_with_default($data, alwaysVar, 0);
84
83
  $important: map_get_with_default($data, important, setting.$default_important);
85
84
 
86
- // baseセレクタタイプ: 基本は0, BPサポートオンなら 1がデフォ。
87
- $base_type: map_get_with_default($data, base_type, if($bp_support != 0, 1, 0));
85
+ @if $prop == '' {
86
+ @continue;
87
+ }
88
+
89
+ // 基本的なbaseセレクタタイプ: 基本は0, BPサポートオンなら 1.
90
+ $base_type: 0;
91
+
92
+ // Memo: == 1 ではないのは、'sm' や 'md' などの指定も入ってくる可能性があるから
93
+ @if $bp_support != 0 {
94
+ $base_type: 1;
95
+ }
96
+
97
+ @if $alwaysVar == 1 {
98
+ $base_type: 2;
99
+ }
88
100
 
89
- // ベースセレクタの出力
90
- @if $base_type != 0 {
91
- @include echoBaseUtil($key, $prop, $base_type, $important);
101
+ // isVar が 1 なら base_type は 0
102
+ @if $isVar == 1 {
103
+ $base_type: 0;
104
+ }
105
+
106
+ @if $base_type == 2 {
107
+ .-#{$key},
108
+ [class*='-#{$key}:'] {
109
+ #{$prop}: var(--#{$key}) #{get_important_str($important)};
110
+ }
111
+ } @else if $base_type == 1 {
112
+ .-#{$key} {
113
+ #{$prop}: var(--#{$key}) #{get_important_str($important)};
114
+ }
92
115
  }
93
116
 
94
- // utilityクラスのリストをまずは $data から取得
117
+ // utilityクラスのリストを $data から取得
95
118
  $utilities: map.get($data, utilities);
96
- // @if not $utilities {
97
- // // $data.utilities の指定がない場合は、setting.$utilities から $key で探してみる。
98
- // $utilities: map.get(setting.$utilities, $key);
99
- // }
119
+ $exUtilities: map.get($data, exUtility);
100
120
 
101
121
  // ユーティリティクラスのリストが取得できていれば出力
102
122
  @if $utilities {
103
123
  @include echoUtilities($key, $prop, $utilities, $base_type, $important);
104
124
  }
105
125
 
126
+ // exUtilityが存在する場合の処理
127
+ @if $exUtilities {
128
+ @each $exKey, $exValue in $exUtilities {
129
+ // 文字列の場合はそのまま展開
130
+ @if (meta.type-of($exValue) == map) {
131
+ .-#{$key}\:#{$exKey} {
132
+ @each $_p, $_v in $exValue {
133
+ #{$_p}: #{$_v};
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
+
106
140
  // BPクラスを出力するプロパティのリストを作成
107
141
 
108
142
  // $bp_support が 1 または 文字列('sm','md','lg'などかどうか)
@@ -113,6 +147,11 @@ $bp_support_list: (); // list
113
147
  }
114
148
  // @debug $bp_support_list;
115
149
 
150
+ /*
151
+ Step: 2
152
+ bp_support_list リストをループ
153
+ BP対応プロパティのリストを再びループし、それぞれどのブレイクポイントまでスタイルを出力するかをチェックし、$bp_outputsの各成分に保存
154
+ */
116
155
  // setting.$breakpoints のキーだけを抽出したリストを取得
117
156
  $bp_names: map.keys(setting.$breakpoints);
118
157
  $bp_outputs: (
@@ -121,15 +160,7 @@ $bp_outputs: (
121
160
  'lg': [],
122
161
  'xl': [],
123
162
  );
124
-
125
163
  /* __stylelint-disable */
126
-
127
- // @containerの出力数を少なくするためにBPで先にループして出力
128
- // @each $bp in $bp_names {
129
- // @include query.bp-up($bp) {
130
- // }
131
- // }
132
-
133
164
  // BPサポートしてるプロパティのリストをループ
134
165
  @each $key in $bp_support_list {
135
166
  $prop_data: map.get(setting.$props, $key);
@@ -168,39 +199,34 @@ $bp_outputs: (
168
199
  $i: $i + 1;
169
200
  }
170
201
  }
171
-
172
202
  // @debug $bp_outputs;
173
203
 
174
- //@containerの出力数を少なくするために出力は最後にまとめる。
204
+ /*
205
+ Step: 3
206
+ bp_outputs をループし、各ブレイクポイントごとにサポートされているpropのスタイルを出力
207
+ ( @containerの出力数を少なくするために出力は最後にまとめている。)
208
+ */
175
209
  @each $bp, $data in $bp_outputs {
176
210
  @include query.bp-up($bp) {
177
211
  @each $key in $data {
178
212
  $prop_data: map.get(setting.$props, $key);
179
213
  $prop_name: map.get($prop_data, prop);
214
+ $isVar: map_get_with_default($prop_data, isVar, 0);
215
+ $overwriteBaseVar: map_get_with_default($prop_data, overwriteBaseVar, 0);
180
216
  $important: map_get_with_default($prop_data, important, setting.$default_important);
181
217
 
182
- // ここにきているものは デフォで 1
183
- $base_type: map_get_with_default($prop_data, base_type, 1);
184
-
185
- // memo: Note: base_type: 0 の時、かつBPサポートが有効な場合、変数がインラインスタイルで出力されるのでBPクラスにimportantが必要(現状はそのような組み合わせは存在しないが)
186
- @if $base_type == 0 {
218
+ @if $isVar == 1 {
187
219
  $important: 1;
188
220
  }
189
221
 
190
- @if $base_type == 2 {
191
- .-#{$key}_#{$bp} {
222
+ .-#{$key}_#{$bp} {
223
+ #{$prop_name}: var(--#{$key}_#{$bp}) #{get_important_str($important)};
224
+
225
+ // 常に --prop でそのBPの値を取得できるように
226
+ @if $overwriteBaseVar == 1 {
192
227
  --#{$key}: var(--#{$key}_#{$bp}) !important;
193
- #{$prop_name}: var(--#{$key}_#{$bp}) #{get_important_str($important)};
194
- }
195
- } @else {
196
- .-#{$key}_#{$bp} {
197
- #{$prop_name}: var(--#{$key}_#{$bp}) #{get_important_str($important)};
198
228
  }
199
229
  }
200
-
201
- // .-#{$key}_#{$bp} {
202
- // #{$prop_name}: var(--#{$key}_#{$bp}) #{get_important_str($important)};
203
- // }
204
230
  }
205
231
  }
206
232
  }