lism-css 0.3.5 → 0.5.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 (254) 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/css/base.css +1 -0
  76. package/dist/css/main.css +1 -0
  77. package/dist/css/main_no_layer.css +1 -0
  78. package/dist/css/modules/atomic.css +1 -0
  79. package/dist/css/modules/dynamic.css +1 -0
  80. package/dist/css/modules/layout.css +1 -0
  81. package/dist/css/modules/state.css +1 -0
  82. package/dist/css/props.css +1 -0
  83. package/dist/css/reset.css +1 -0
  84. package/dist/css/utility.css +1 -0
  85. package/dist/index.js +50 -50
  86. package/dist/lib/getBpData.js +1 -1
  87. package/dist/lib/getLismProps.js +109 -177
  88. package/dist/lib/getMaybeCssVar.js +30 -54
  89. package/dist/lib/getMaybeTokenValue.js +26 -0
  90. package/dist/lib/getUtilKey.js +13 -0
  91. package/dist/lib/isPresetValue.js +3 -3
  92. package/dist/lib/isTokenValue.js +6 -5
  93. package/package.json +16 -3
  94. package/packages/astro/Accordion/AccBody.astro +5 -6
  95. package/packages/astro/Accordion/AccHeader.astro +4 -4
  96. package/packages/astro/Accordion/AccHeaderLabel.astro +12 -0
  97. package/packages/astro/Accordion/AccIcon.astro +1 -1
  98. package/packages/astro/Accordion/AccLabel.astro +1 -1
  99. package/packages/astro/Accordion/Accordion.astro +1 -1
  100. package/packages/astro/Accordion/index.js +2 -1
  101. package/packages/astro/Box/Box.astro +2 -3
  102. package/packages/astro/Center/Center.astro +2 -8
  103. package/packages/astro/Cluster/Cluster.astro +5 -0
  104. package/packages/astro/Cluster/index.js +1 -0
  105. package/packages/astro/Columns/Columns.astro +2 -8
  106. package/packages/astro/Container/Container.astro +3 -4
  107. package/packages/astro/Decorator/Decorator.astro +2 -2
  108. package/packages/astro/Divider/Divider.astro +3 -3
  109. package/packages/astro/Dummy/Dummy.astro +3 -2
  110. package/packages/astro/Flex/Flex.astro +1 -10
  111. package/packages/astro/Flex/index.js +0 -1
  112. package/packages/astro/Flow/Flow.astro +5 -0
  113. package/packages/astro/Flow/index.js +1 -0
  114. package/packages/astro/Frame/Frame.astro +1 -8
  115. package/packages/astro/Grid/Grid.astro +1 -9
  116. package/packages/astro/Grid/index.js +0 -1
  117. package/packages/astro/HTML/a.astro +5 -0
  118. package/packages/astro/HTML/button.astro +5 -0
  119. package/packages/astro/HTML/div.astro +5 -0
  120. package/packages/astro/HTML/h.astro +6 -0
  121. package/packages/astro/HTML/img.astro +5 -0
  122. package/packages/astro/HTML/index.js +12 -0
  123. package/packages/astro/HTML/li.astro +5 -0
  124. package/packages/astro/HTML/ol.astro +5 -0
  125. package/packages/astro/HTML/p.astro +5 -0
  126. package/packages/astro/HTML/span.astro +5 -0
  127. package/packages/astro/HTML/ul.astro +5 -0
  128. package/packages/astro/Icon/Icon.astro +3 -5
  129. package/packages/astro/Layer/Layer.astro +3 -10
  130. package/packages/astro/LinkBox/LinkBox.astro +4 -5
  131. package/packages/astro/Lism/Link.astro +2 -2
  132. package/packages/astro/Lism/Lism.astro +4 -3
  133. package/packages/astro/Lism/Text.astro +2 -2
  134. package/packages/astro/Lism/index.js +0 -1
  135. package/packages/astro/{Lism → Media}/Media.astro +1 -9
  136. package/packages/astro/Media/index.js +1 -0
  137. package/packages/astro/Modal/Body.astro +4 -5
  138. package/packages/astro/Modal/CloseBtn.astro +24 -0
  139. package/packages/astro/Modal/Inner.astro +4 -4
  140. package/packages/astro/Modal/Modal.astro +4 -5
  141. package/packages/astro/Modal/OpenBtn.astro +14 -0
  142. package/packages/astro/Modal/index.js +3 -4
  143. package/packages/astro/OverlayLink/OverlayLink.astro +1 -1
  144. package/packages/astro/Spacer/Spacer.astro +3 -3
  145. package/packages/astro/Stack/Stack.astro +2 -4
  146. package/packages/astro/Tabs/Tab.astro +2 -11
  147. package/packages/astro/Tabs/TabList.astro +4 -4
  148. package/packages/astro/Tabs/TabPanel.astro +1 -1
  149. package/packages/astro/Tabs/Tabs.astro +6 -10
  150. package/packages/astro/Test/Test.astro +1 -1
  151. package/packages/astro/Test/TestItem.astro +1 -1
  152. package/packages/astro/WithSide/WithSide.astro +1 -8
  153. package/packages/astro/index.js +6 -2
  154. package/packages/types/index.d.ts +22 -26
  155. package/src/scss/{_props.scss → __props copy.scss } +146 -169
  156. package/src/scss/__props.scss +786 -0
  157. package/src/scss/_auto_output.scss +102 -76
  158. package/src/scss/_prop-config.scss +862 -0
  159. package/src/scss/_setting.scss +2 -3
  160. package/src/scss/_with_layer.scss +19 -14
  161. package/src/scss/base/_dom.scss +35 -26
  162. package/src/scss/base/_property.scss +4 -16
  163. package/src/scss/base/_tokens.scss +105 -116
  164. package/src/scss/base/index.scss +18 -42
  165. package/src/scss/base/set/_hover.scss +13 -0
  166. package/src/scss/base/set/_innerRs.scss +3 -0
  167. package/src/scss/base/set/_mask.scss +6 -0
  168. package/src/scss/base/set/_plain.scss +14 -0
  169. package/src/scss/base/set/_shadow.scss +27 -0
  170. package/src/scss/base/set/_snap.scss +8 -0
  171. package/src/scss/base/set/_transition.scss +20 -0
  172. package/src/scss/main.scss +0 -1
  173. package/src/scss/main_no_layer.scss +6 -14
  174. package/src/scss/modules/atomic/_divider.scss +6 -0
  175. package/src/scss/{layout → modules/atomic}/_icon.scss +3 -9
  176. package/src/scss/modules/atomic/_media.scss +3 -0
  177. package/src/scss/{layout → modules/atomic}/_spacer.scss +1 -1
  178. package/src/scss/modules/atomic/index.scss +6 -0
  179. package/src/scss/{dynamic → modules/dynamic}/_accordion.scss +24 -24
  180. package/src/scss/modules/dynamic/_modal.scss +33 -0
  181. package/src/scss/{dynamic → modules/dynamic}/_tabs.scss +4 -5
  182. package/src/scss/{layout/_flex.scss → modules/layout/_cluster.scss} +1 -4
  183. package/src/scss/modules/layout/_columns.scss +9 -0
  184. package/src/scss/modules/layout/_flex.scss +3 -0
  185. package/src/scss/modules/layout/_flow.scss +46 -0
  186. package/src/scss/{layout → modules/layout}/_frame.scss +1 -1
  187. package/src/scss/modules/layout/_grid.scss +35 -0
  188. package/src/scss/{layout → modules/layout}/_withSide.scss +3 -3
  189. package/src/scss/{layout → modules/layout}/index.scss +4 -6
  190. package/src/scss/modules/state/_container.scss +37 -0
  191. package/src/scss/{state → modules/state}/_linkbox.scss +1 -1
  192. package/src/scss/modules/state/index.scss +5 -0
  193. package/src/scss/props/_border.scss +25 -40
  194. package/src/scss/props/_hover.scss +12 -23
  195. package/src/scss/props/_size.scss +17 -0
  196. package/src/scss/props/index.scss +1 -2
  197. package/src/scss/reset.scss +1 -1
  198. package/src/scss/utility/_cbox.scss +5 -4
  199. package/src/scss/utility/_hidden.scss +14 -0
  200. package/src/scss/utility/_itemDivider.scss +11 -0
  201. package/src/scss/utility/_linkExpand.scss +10 -0
  202. package/src/scss/utility/_trimHL.scss +29 -13
  203. package/src/scss/utility/index.scss +3 -45
  204. package/dist/components/Box/getProps.js +0 -7
  205. package/dist/components/Columns/getProps.js +0 -6
  206. package/dist/components/Decorator/getProps.js +0 -17
  207. package/dist/components/Divider/getProps.js +0 -11
  208. package/dist/components/Divider/index.js +0 -9
  209. package/dist/components/Flex/Cluster.js +0 -8
  210. package/dist/components/Flex/FlexItem.js +0 -8
  211. package/dist/components/Flex/getProps.js +0 -13
  212. package/dist/components/Frame/getProps.js +0 -7
  213. package/dist/components/Grid/GridItem.js +0 -9
  214. package/dist/components/Grid/getProps.js +0 -28
  215. package/dist/components/Icon/getProps.js +0 -60
  216. package/dist/components/Layer/getProps.js +0 -9
  217. package/dist/components/Lism/Media.js +0 -9
  218. package/dist/components/Modal/CloseIconBtn.js +0 -19
  219. package/dist/components/Modal/Footer.js +0 -9
  220. package/dist/components/Modal/Header.js +0 -9
  221. package/dist/components/Spacer/getProps.js +0 -21
  222. package/dist/components/Spacer/index.js +0 -9
  223. package/dist/components/WithSide/getProps.js +0 -14
  224. package/dist/components/getInsetProps.js +0 -8
  225. package/dist/components/getMediaProps.js +0 -7
  226. package/dist/components/getTransformProps.js +0 -8
  227. package/dist/config/prop_list.js +0 -386
  228. package/dist/config/tokens.js +0 -43
  229. package/dist/config.js +0 -9
  230. package/dist/lib/getMaybeUtilValue.js +0 -6
  231. package/packages/astro/Flex/Cluster.astro +0 -11
  232. package/packages/astro/Grid/GridItem.astro +0 -14
  233. package/packages/astro/Modal/CloseIconBtn.astro +0 -24
  234. package/packages/astro/Modal/Footer.astro +0 -14
  235. package/packages/astro/Modal/Header.astro +0 -14
  236. package/src/scss/dynamic/_modal.scss +0 -30
  237. package/src/scss/layout/_columns.scss +0 -13
  238. package/src/scss/layout/_divider.scss +0 -3
  239. package/src/scss/layout/_grid.scss +0 -9
  240. package/src/scss/props/__memo.scss +0 -15
  241. package/src/scss/props/_color.scss +0 -7
  242. package/src/scss/props/_transition.scss +0 -20
  243. package/src/scss/state/_container.scss +0 -34
  244. package/src/scss/state/_flow.scss +0 -45
  245. package/src/scss/state/_size.scss +0 -22
  246. package/src/scss/state/index.scss +0 -12
  247. /package/dist/components/{Icon → atomic/Icon}/SVG.js +0 -0
  248. /package/dist/components/{Icon → atomic/Icon}/presets.js +0 -0
  249. /package/packages/astro/{helper/index.js → helper.js} +0 -0
  250. /package/src/scss/{dynamic → modules/dynamic}/index.scss +0 -0
  251. /package/src/scss/{layout → modules/layout}/_center.scss +0 -0
  252. /package/src/scss/{layout → modules/layout}/_stack.scss +0 -0
  253. /package/src/scss/{state → modules/state}/_gutter.scss +0 -0
  254. /package/src/scss/{state → modules/state}/_layer.scss +0 -0
@@ -1,12 +1,11 @@
1
1
  @use 'sass:map';
2
2
  @use 'sass:string';
3
+ @use './prop-config' as props;
3
4
 
4
- @use './props' as props;
5
-
6
- $layer_mode: 1 !default;
7
5
  $default_important: 0 !default;
8
6
  $is_container_query: 1 !default;
9
7
  $common_support_bp: 'md' !default;
8
+ $fzmol: 8 !default; // 7 ~ に対応.
10
9
 
11
10
  $breakpoints: () !default;
12
11
  $breakpoints: map.merge(
@@ -3,7 +3,8 @@
3
3
  */
4
4
  @use 'sass:meta';
5
5
 
6
- @layer lism.reset, lism.base, lism.state, lism.layout, lism.dynamic, lism.component, lism.utility;
6
+ // 最初に順序定義
7
+ @layer lism.reset, lism.base, lism.modules, lism.custom, lism.utility;
7
8
 
8
9
  @layer lism.reset {
9
10
  @include meta.load-css('reset');
@@ -11,18 +12,22 @@
11
12
  @layer lism.base {
12
13
  @include meta.load-css('base');
13
14
  }
14
- @layer lism.state {
15
- @include meta.load-css('state');
16
- }
17
- @layer lism.layout {
18
- @include meta.load-css('layout');
15
+
16
+ @layer lism.modules {
17
+ @layer state {
18
+ @include meta.load-css('modules/state');
19
+ }
20
+ @layer layout {
21
+ @include meta.load-css('modules/layout');
22
+ }
23
+ @layer atomic {
24
+ @include meta.load-css('modules/atomic');
25
+ }
26
+ @layer dynamic {
27
+ @include meta.load-css('modules/dynamic');
28
+ }
19
29
  }
20
- @layer lism.dynamic {
21
- @include meta.load-css('dynamic');
30
+
31
+ @layer lism.utility {
32
+ @include meta.load-css('utility');
22
33
  }
23
- // @layer lism-component {
24
- // @include meta.load-css('component');
25
- // }
26
- // @layer lism-utility {
27
- // @include meta.load-css('utility');
28
- // }
@@ -5,7 +5,7 @@
5
5
  ---------------------------------------- */
6
6
  html {
7
7
  // remで使うために html へ指定
8
- font-size: var(--fz-base);
8
+ font-size: var(--fz--base);
9
9
 
10
10
  tab-size: 4;
11
11
 
@@ -18,11 +18,11 @@ html {
18
18
 
19
19
  body {
20
20
  font-size: 1rem;
21
- font-family: var(--ff-base);
22
- line-height: var(--lh-base);
23
- letter-spacing: var(--lts-base);
24
- background-color: var(--c-base);
25
- color: var(--c-text);
21
+ font-family: var(--ff--base);
22
+ line-height: var(--lh--base);
23
+ letter-spacing: var(--lts--base);
24
+ background-color: var(--c--base);
25
+ color: var(--c--text);
26
26
  overflow-x: clip;
27
27
  // 子孫要素の position:fixed の挙動が変わってしまうので body には使わない
28
28
  // container-type: inline-size;
@@ -32,43 +32,42 @@ body {
32
32
  Heading
33
33
  ---------------------------------------- */
34
34
  @include mixin.maybe_where('h1, h2, h3, h4, h5, h6', '') {
35
- font-family: var(--h--ff, inherit);
36
- font-weight: var(--h--fw, bolder);
35
+ font-family: var(--heading-ff, inherit);
36
+ font-weight: var(--heading-fw, bolder);
37
37
  font-size: var(--fz, revert);
38
38
  line-height: var(--lh, inherit);
39
39
  }
40
40
  h1 {
41
- --fz: var(--fz-3xl);
42
- --lh: var(--lh-xs);
41
+ --fz: var(--fz--3xl);
42
+ --lh: var(--lh--xs);
43
43
  }
44
44
  h2 {
45
- --fz: var(--fz-2xl);
46
- --lh: var(--lh-xs);
45
+ --fz: var(--fz--2xl);
46
+ --lh: var(--lh--xs);
47
47
  }
48
48
  h3 {
49
- --fz: var(--fz-xl);
50
- --lh: var(--lh-s);
49
+ --fz: var(--fz--xl);
50
+ --lh: var(--lh--s);
51
51
  }
52
52
  h4 {
53
- --fz: var(--fz-l);
54
- --lh: var(--lh-s);
53
+ --fz: var(--fz--l);
54
+ --lh: var(--lh--s);
55
55
  }
56
56
  h5 {
57
- --fz: var(--fz-m);
58
- // --lh: var(--lh-s);
57
+ --fz: var(--fz--m);
58
+ // --lh: var(--lh--s);
59
59
  }
60
60
  h6 {
61
- --fz: var(--fz-s);
61
+ --fz: var(--fz--s);
62
62
  }
63
63
 
64
64
  /* ----------------------------------------
65
65
  list
66
66
  ---------------------------------------- */
67
67
  @include mixin.maybe_where('ul, ol', '') {
68
- --pis: var(--list--pis, 0);
69
68
  list-style: none;
70
69
  padding: 0;
71
- padding-inline-start: var(--pis);
70
+ padding-inline-start: var(--list-px-s, 0);
72
71
  }
73
72
 
74
73
  /* ----------------------------------------
@@ -76,17 +75,27 @@ h6 {
76
75
  ---------------------------------------- */
77
76
  // link
78
77
  @include mixin.maybe_where('a', '') {
79
- --c: var(--c-link);
80
- --td: var(--link--td, underline);
81
- color: var(--c);
82
- text-decoration: var(--td);
78
+ color: var(--c--link);
79
+ text-decoration: var(--link-td, underline);
80
+ // text-underline-offset: var(--underline-offset, auto);
81
+ // text-decoration-thickness: var(--underline-thickness, 1px);
83
82
  }
84
83
 
85
84
  /* ----------------------------------------
86
85
  table
87
86
  ---------------------------------------- */
87
+ @include mixin.maybe_where('th', '') {
88
+ color: var(--th--c, inherit);
89
+ background-color: var(--th--bgc, transparent);
90
+ }
91
+ // @include mixin.maybe_where('td', '') {
92
+ // color: var(--td--c, inherit);
93
+ // background-color: var(--td--bgc, transparent);
94
+ // }
95
+
88
96
  @include mixin.maybe_where('td, th', '') {
89
- padding: 0.25em 0.375em; // var(--cell--p, 0.375em);
97
+ padding: var(--cell-p, 0.375em 0.5em);
98
+ min-inline-size: var(--cell-minW, initial);
90
99
  }
91
100
 
92
101
  /* ----------------------------------------
@@ -1,21 +1,17 @@
1
1
  // @property が使える環境であればコンテナのさらに親要素の幅を参照できるので、containerを1段階飛び出せる。
2
2
  // cqi を算出値で保持するために登録済みカスタムプロパティとして定義
3
- @property --overwideSize {
3
+ // --parent-cq
4
+ @property --sz--outer {
4
5
  syntax: '<length-percentage>';
5
6
  initial-value: 100%;
6
7
  inherits: true;
7
8
  }
8
9
 
9
- // @property --flowM {
10
- // syntax: '*';
11
- // inherits: true;
12
- // }
13
-
14
10
  /* ------------------------------------------------------------
15
11
  ハーフレディング
16
12
 
17
- Memo: --HL とは別に --trimHL を定義しているのは、トリミング除外要素で 0px に上書きしても --HL 自体の値は無効にしないようにするため。
18
- これにより、imgに対してmargin-block-start:var(--HL) を適用して余白を揃えたりできる。
13
+ トリミングした時に詰まりすぎる印象が出てしまうことがあるため、ほんの少し余裕を持たせる。
14
+
19
15
  */
20
16
  @property --HL {
21
17
  syntax: '*';
@@ -23,14 +19,6 @@
23
19
  initial-value: calc((1lh - 1em) / 2);
24
20
  }
25
21
 
26
- // トリミングするネガティブマージン
27
- // Memo: initial-valueでvar(--HL)は使えない
28
- @property --trimHL {
29
- syntax: '*';
30
- inherits: false;
31
- initial-value: calc((1lh - 1em) / 2 * -1);
32
- }
33
-
34
22
  // :lang(en) {
35
23
  // --HL: calc((1lh - 1cap) / 2);
36
24
  // }
@@ -1,3 +1,13 @@
1
+ @use '../_setting' as setting;
2
+ @use 'sass:math';
3
+
4
+ // フォントサイズ計算用の関数
5
+ @function fz-calc($offset) {
6
+ $fzmol: setting.$fzmol;
7
+ $fz: math.div($fzmol, ($fzmol - $offset));
8
+ @return math.div(math.round($fz * 1000), 1000);
9
+ }
10
+
1
11
  :root {
2
12
  /* ------------------------------------------------------------
3
13
  Spacing
@@ -22,92 +32,82 @@
22
32
  /* ------------------------------------------------------------
23
33
  コンテンツサイズ
24
34
  ------------------------------------------------------------ */
25
- --size-xl: 1600px; // 80*20
26
- --size-l: 1280px; // 80*16
27
- --size-m: 960px; // 80*12
28
- --size-s: 640px; // 80*8
29
- --size-xs: 480px; // 80*6
30
- --size-min: 16rem; // 最低限維持したいアイテムサイズの標準値。withSide,reel,columns で使用
31
-
32
- // .is--flow の余白
33
- --flowM-s: var(--s20);
34
- --flowM-m: var(--s40);
35
- // --flowM-l: var(--s50);
36
- --flowM-h: 1em; /* --flowM に追加する値 */
35
+ --sz--xl: 1600px; // 80*20
36
+ --sz--l: 1280px; // 80*16
37
+ --sz--m: 960px; // 80*12
38
+ --sz--s: 640px; // 80*8
39
+ --sz--xs: 480px; // 80*6
40
+
41
+ --sz--min: 16rem; // 最低限維持したいコンテンツサイズの標準値。 withSide等 で使用
42
+
43
+ // .l--flow の余白
44
+ --flow--base: var(--s40);
45
+ --flow--s: var(--s20);
46
+ --flow--l: var(--s50);
47
+ --flow--h: 0.75em;
37
48
 
38
49
  /* ------------------------------------------------------------
39
50
  タイポグラフィ
40
51
  ------------------------------------------------------------ */
41
52
 
42
- // --ff-sans: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif;
43
- // --ff-serif: serif;
53
+ // --ff--sans: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Meiryo', sans-serif;
54
+ // --ff--serif: serif;
44
55
 
45
- --ff-base: -apple-system, 'BlinkMacSystemFont', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif, 'Segoe UI Emoji';
56
+ --ff--base: -apple-system, 'BlinkMacSystemFont', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif, 'Segoe UI Emoji';
46
57
 
47
58
  // Optima, Georgia, Garamond, Baskerville;
48
- --ff-accent: 'Garamond', 'Baskerville', 'Times New Roman', serif;
49
- --ff-mono: Menlo, Consolas, monaco, monospace;
59
+ --ff--accent: 'Garamond', 'Baskerville', 'Times New Roman', serif;
60
+ --ff--mono: Menlo, Consolas, monaco, monospace;
50
61
 
51
62
  // ------------------------------
52
63
  // font-size 変数
53
64
  // ------------------------------
54
- // 倍音列(分子8) での計算値
55
- // --fz-5xl: 4em; //calc(1em * 8 / 2);
56
- // --fz-4xl: 2.667em; // calc(1em * 8 / 3);
57
- // --fz-3xl: 2em; //calc(1em * 8 / 4);
58
- // --fz-2xl: 1.6em; //calc(1em * 8 / 5);
59
- // --fz-xl: 1.333em; //calc(1em * 8 / 6);
60
- // --fz-l: 1.143em; //calc(1em * 8 / 7);
61
- // --fz-m: 1em; // デフォルトでフォントサイズ 変わっているものを1emにリセットしたい時に必要
62
- // --fz-s: 0.889em; // calc(1em * 8 / 9);
63
- // --fz-xs: 0.8em; //calc(1em * 8 / 10);
64
- // --fz-2xs: 0.727em; //calc(1em * 8 / 11);
65
-
66
- --_fzmol: 8; // 7 ~ に対応.
67
- --fz-5xl: calc(1em * var(--_fzmol) / (var(--_fzmol) - 6));
68
- --fz-4xl: calc(1em * var(--_fzmol) / (var(--_fzmol) - 5));
69
- --fz-3xl: calc(1em * var(--_fzmol) / (var(--_fzmol) - 4));
70
- --fz-2xl: calc(1em * var(--_fzmol) / (var(--_fzmol) - 3));
71
- --fz-xl: calc(1em * var(--_fzmol) / (var(--_fzmol) - 2));
72
- --fz-l: calc(1em * var(--_fzmol) / (var(--_fzmol) - 1));
73
- --fz-m: 1em;
74
- --fz-s: calc(1em * var(--_fzmol) / (var(--_fzmol) + 1));
75
- --fz-xs: calc(1em * var(--_fzmol) / (var(--_fzmol) + 2));
76
- --fz-2xs: calc(1em * var(--_fzmol) / (var(--_fzmol) + 3));
77
- --fz-base: clamp(0.875rem, 0.625rem + 1vw, 1rem); // 画面サイズ 400 - 600 で可変
65
+ // 倍音列での計算値
66
+ --fz--5xl: #{fz-calc(6)}em;
67
+ --fz--4xl: #{fz-calc(5)}em;
68
+ --fz--3xl: #{fz-calc(4)}em;
69
+ --fz--2xl: #{fz-calc(3)}em;
70
+ --fz--xl: #{fz-calc(2)}em;
71
+ --fz--l: #{fz-calc(1)}em;
72
+ --fz--m: 1em;
73
+ --fz--s: #{fz-calc(-1)}em;
74
+ --fz--xs: #{fz-calc(-2)}em;
75
+ --fz--2xs: #{fz-calc(-3)}em;
76
+
77
+ --fz--base: clamp(0.875rem, 0.625rem + 1vw, 1rem); // 画面サイズ 400 - 600 で可変
78
78
 
79
79
  // clampでテキストサイズを変化させたい時用
80
- // --fz-fluid-s: clamp(0.9rem, 0.75rem + 0.8cqw, 1rem); // 小さい方向のみ. 300: .9rem ~ 500: 1rem
81
- // --fz-fluid: clamp(0.9rem, 0.8rem + 0.5cqw, 1.1rem); // 上下両方. 320: .9rem ~ 960: 1.1rem
82
- // --fz-fluid-l: clamp(1rem, 0.9rem + 0.25cqw, 1.1rem); // 大きい方向のみ 640: 1rem a~ 960: 1.1rem
80
+ // --fz--fluid-s: clamp(0.9rem, 0.75rem + 0.8cqw, 1rem); // 小さい方向のみ. 300: .9rem ~ 500: 1rem
81
+ // --fz--fluid: clamp(0.9rem, 0.8rem + 0.5cqw, 1.1rem); // 上下両方. 320: .9rem ~ 960: 1.1rem
82
+ // --fz--fluid-l: clamp(1rem, 0.9rem + 0.25cqw, 1.1rem); // 大きい方向のみ 640: 1rem a~ 960: 1.1rem
83
83
 
84
84
  // ------------------------------
85
85
  // font-weight
86
86
  // ------------------------------
87
- // --fw-thin: 100;
88
- --fw-light: 300;
89
- --fw-normal: 400;
90
- // --fw-medium: 500;
91
- --fw-bold: 700;
92
- // --fw-heavy: 900;
87
+ --fw--thin: 100;
88
+ --fw--light: 300;
89
+ --fw--normal: 400;
90
+ --fw--medium: 500;
91
+ --fw--bold: 700;
92
+ --fw--black: 900;
93
93
 
94
94
  // ------------------------------
95
95
  // line-height
96
96
  // ------------------------------
97
97
  // tight snug - relaxed loose or shorter short - tall taller ?
98
- --lh-base: 1.75;
99
- --lh-xs: calc(var(--lh-base) - 0.25);
100
- --lh-s: calc(var(--lh-base) - 0.125);
101
- --lh-l: calc(var(--lh-base) + 0.125);
102
- --lh-xl: calc(var(--lh-base) + 0.25);
98
+ --lh--base: 1.75;
99
+ --lh--xs: calc(var(--lh--base) - 0.25);
100
+ --lh--s: calc(var(--lh--base) - 0.125);
101
+ --lh--l: calc(var(--lh--base) + 0.125);
102
+ --lh--xl: calc(var(--lh--base) + 0.25);
103
103
 
104
104
  // ------------------------------
105
105
  // letter-spacing
106
106
  // ------------------------------
107
- --lts-base: normal;
108
- --lts-s: -0.05em;
109
- --lts-l: 0.05em;
110
- // --lts-xl: 0.125em;
107
+ --lts--base: normal;
108
+ --lts--s: -0.05em;
109
+ --lts--l: 0.05em;
110
+ // --lts--xl: 0.125em;
111
111
 
112
112
  // ------------------------------------------------------------
113
113
  // カラー
@@ -144,15 +144,7 @@
144
144
  --purple: hsl(260 72% 50%);
145
145
  --pink: hsl(320 72% 50%);
146
146
 
147
- // --------------------
148
- // basic カラー
149
- // --------------------
150
-
151
147
  // ベースカラーに合わせたカラーを段階的に用意
152
- // --hs--bc: 215 8%;
153
- // --hsl--bc: 215 8% 60%;
154
-
155
- // n50?
156
148
  // --b50: hsl(var(--hs--bc) 99%);
157
149
  // --b100: hsl(var(--hs--bc) 96%);
158
150
  // --b200: hsl(var(--hs--bc) 92%);
@@ -170,32 +162,28 @@
170
162
  // --------------------
171
163
 
172
164
  // Main Color
173
- --c-main: #1e4e6b;
165
+ --c--main: #1e4e6b;
174
166
 
175
- // accent, accent-2, accent-3
176
- --c-accent: #bc3453;
177
- // --c-accent-2: #bc3453;
178
- // --c-accent-3: #bc3453;
179
-
180
- // base, base2, base-3 … 基本、濃くなっていく
181
- // text, text2, text-3 … 基本、薄くなっていく
167
+ // accent, accent-2, accent-3, ...
168
+ --c--accent: #bc3453;
169
+ // --c--accent-2: #bc3453;
170
+ // --c--accent-3: #bc3453;
182
171
 
183
172
  // base
184
- // --c-base: hsl(225 8% 98%);
185
- --c-base: hsl(224 6% 99%);
186
- --c-base-2: hsl(224 10% 94%); // secondary
187
- // --c-base-3: hsl(220 8% 86%); // border用
173
+ // --hs--base: 224 8%;
174
+ --c--base: hsl(224 6% 99%);
175
+ --c--base-2: hsl(224 10% 94%); // secondary
188
176
 
189
177
  // text
190
- --c-text: hsl(224 4% 8%);
191
- --c-text-2: hsl(224 4% 40%); // secondary
192
- // --text-3: hsl(224, 4%, 50%); //hsl(200, 12%, 92%);
178
+ // --hs--text: 224 4%;
179
+ --c--text: hsl(224 4% 8%);
180
+ --c--text-2: hsl(224 4% 40%); // secondary
193
181
 
194
- // --_sh_hsl
182
+ // --sh-hsl
195
183
 
196
184
  // divider (border-color)
197
- --c-divider: hsl(224 4% 82%);
198
- --c-link: #0c61e4;
185
+ --c--line: hsl(224 4% 82%);
186
+ --c--link: #0c61e4;
199
187
  // --divider?
200
188
 
201
189
  // ボーダーはどちらでも使える感じか。
@@ -204,49 +192,50 @@
204
192
  /* ------------------------------------------------------------
205
193
  opacity
206
194
  ------------------------------------------------------------ */
207
- --op-low: 0.25;
208
- --op-mid: 0.5;
209
- --op-high: 0.75;
195
+ // 質感で表現
196
+ --o--n10: 0.75;
197
+ --o--n20: 0.5;
198
+ --o--n30: 0.25;
199
+
200
+ // 数値
201
+ // low mid high
202
+
203
+ // 距離
204
+ // distant → far → mid → near → close
205
+
206
+ // 質感
207
+ // ghost → pale → soft → mild → solid
208
+
209
+ // シンプル系 軽さ・厚み
210
+ // thin → light → mid → bold → (thick)
211
+
212
+ // 濃度, 霧
213
+ // wisp mist haze fog dense
210
214
 
211
215
  /* ------------------------------------------------------------
212
- radius
216
+ aspect-ratio
213
217
  ------------------------------------------------------------ */
214
- // 等比
215
- --bdrs-5: 2px;
216
- --bdrs-10: 0.25rem; // ≒ 4px
217
- --bdrs-20: 0.5rem; // ≒ 8px
218
- --bdrs-30: 1rem; // ≒ 16px
219
- --bdrs-40: 1.5rem; // ≒ 24px
220
- --bdrs-50: 2rem; // ≒ 32px
221
- --bdrs-99: 99rem;
218
+ --ar--og: 1.91/1;
222
219
 
223
220
  /* ------------------------------------------------------------
224
-   transition
221
+ writng-mode langに合わせて切り替えれるようにトークンで管理
225
222
  ------------------------------------------------------------ */
226
- --trsdu-base: 0.4s;
223
+ --writing--vertical: vertical-rl;
227
224
 
228
225
  /* ------------------------------------------------------------
229
- filter
226
+ radius
230
227
  ------------------------------------------------------------ */
231
- // --filter--blur: blur(4px);
232
- // --filter--blur--l: blur(8px);
233
- // --filter--lighten: brightness(1.15);
234
- // --filter--darken: brightness(0.85);
228
+ // 等比
229
+ --bdrs--5: 2px;
230
+ --bdrs--10: 0.25rem; // ≒ 4px
231
+ --bdrs--20: 0.5rem; // ≒ 8px
232
+ --bdrs--30: 1rem; // ≒ 16px
233
+ --bdrs--40: 1.5rem; // ≒ 24px
234
+ --bdrs--50: 2rem; // ≒ 32px
235
+ --bdrs--99: 99rem;
235
236
 
236
237
  /* ----------------------------------------
237
238
  デザイントークンとは別のグローバル設定値
238
239
  ---------------------------------------- */
239
240
  --gutter: var(--s40);
240
-
241
- // Memo: :rootで初期セットしてないがグローバル定義可能な変数
242
- // (コールバックに初期値を記述しているもの)
243
- // --h--ff
244
- // --h--fw
245
- // --link--td
246
- // --list--pis
247
- // --cell--p
248
- // --td|th--c
249
- // --td|th--bgc
250
- // --modal--trsdu
251
- // --acc--trsdu
252
241
  }
@@ -6,49 +6,25 @@
6
6
  // 各html要素のベーススタイル
7
7
  @forward './dom';
8
8
 
9
- // Memo: カラー変数込みで変数をセットしてしまうと、--_sh_c がその時点で固定されるので、再セットできる re--sh クラスを用意。
10
- :root,
11
- .re--sh {
12
- /* ------------------------------------------------------------
13
- shadow
14
- ------------------------------------------------------------ */
15
- --_sh_i: ; // for inset
16
- --_sh_hsl: 220 4% 8%;
17
- --_sh_a: 5%;
18
- --_sh_c: hsl(var(--_sh_hsl) / var(--_sh_a));
9
+ // set--クラス
10
+ @forward './set/shadow';
11
+ @forward './set/hover';
12
+ @forward './set/transition';
13
+ @forward './set/snap';
14
+ @forward './set/mask';
15
+ @forward './set/innerRs';
16
+ @forward './set/plain';
19
17
 
20
- // x:fibo, y=fibo, blur=x+y*2 のパターン
21
- // --_sh_sz-0: var(--_sh_i) 0px 1px 2px 0 var(--_sh_c);
22
- --_sh_sz-5: var(--_sh_i) 0px 2px 4px 0 var(--_sh_c);
23
- --_sh_sz-10: var(--_sh_i) 1px 3px 6px 0 var(--_sh_c);
24
- --_sh_sz-20: var(--_sh_i) 1px 5px 10px 0 var(--_sh_c);
25
- --_sh_sz-30: var(--_sh_i) 2px 8px 16px 0 var(--_sh_c);
26
- --_sh_sz-40: var(--_sh_i) 3px 13px 26px 0 var(--_sh_c);
27
- --_sh_sz-50: var(--_sh_i) 5px 21px 42px 0 var(--_sh_c);
28
-
29
- // --bxsh-5: var(--_sh_sz-0), var(--_sh_sz-5);
30
- --bxsh-10: var(--_sh_sz-5), var(--_sh_sz-10);
31
- --bxsh-20: var(--_sh_sz-10), var(--_sh_sz-20);
32
- --bxsh-30: var(--_sh_sz-20), var(--_sh_sz-30);
33
- --bxsh-40: var(--_sh_sz-30), var(--_sh_sz-40);
34
- --bxsh-50: var(--_sh_sz-40), var(--_sh_sz-50);
35
- }
36
-
37
- // Note: d--modalに使われる
38
- @include mixin.maybe_where('.re--style', '') {
39
- width: auto;
40
- height: auto;
41
- color: inherit;
42
- background: none;
43
- border: none;
44
- padding: 0;
45
- // margin: 0;
46
- font: inherit;
18
+ // classを持たない素のリスト、または Prop Class で始まるリストはブラウザ標準のスタイルを復活させる
19
+ :is(ul, ol):where(:not([class]), [class^='-'], .set-revert) {
20
+ --list-px-s: 1.5em;
21
+ list-style: revert;
47
22
  }
48
23
 
49
- // classを持たない素の ul,ol はブラウザ標準のスタイルを復活させる
50
- .re--list,
51
- :is(ul, ol):where(:not([class])) {
52
- --list--pis: 1.5em;
53
- list-style: revert;
24
+ // bdc, bdw などでカラーや太さを上書きできるように border 自体を変数管理
25
+ // .-bd .set--bd
26
+ @include mixin.maybe_where('.-bd,[class*="-bd-"]', '') {
27
+ --bds: solid;
28
+ --bdw: 1px;
29
+ --bdc: currentColor;
54
30
  }
@@ -0,0 +1,13 @@
1
+ @media (any-hover: hover) {
2
+ .set-hov:hover {
3
+ --notHov_: ;
4
+ }
5
+ .set-hov:not(:hover) {
6
+ --isHov_: ;
7
+ }
8
+ }
9
+ @media (any-hover: none) {
10
+ .set-hov {
11
+ --isHov_: ;
12
+ }
13
+ }
@@ -0,0 +1,3 @@
1
+ .set-innerRs {
2
+ --bdrs--inner: calc(var(--bdrs, 0px) - var(--p, 0px));
3
+ }
@@ -0,0 +1,6 @@
1
+ .set-mask {
2
+ --maskPos: 50%;
3
+ --maskSize: contain;
4
+ --maskRepeat: no-repeat;
5
+ mask: var(--maskImg) var(--maskRepeat) var(--maskPos) / var(--maskSize);
6
+ }
@@ -0,0 +1,14 @@
1
+ @use '../../_mixin' as mixin;
2
+
3
+ // Note: d--modalに使われる
4
+ @include mixin.maybe_where('.set-plain', '') {
5
+ font: inherit;
6
+ width: auto;
7
+ height: auto;
8
+ color: inherit;
9
+ background: none;
10
+ border: none;
11
+ text-decoration: none;
12
+ padding: 0;
13
+ // margin: 0;
14
+ }
@@ -0,0 +1,27 @@
1
+ // Memo: カラー変数込みで変数をセットしてしまうと、--sh-c がその時点で固定されるので、再セットできる set-shadow クラスを用意。
2
+ :root,
3
+ .set-shadow {
4
+ /* ------------------------------------------------------------
5
+ shadow
6
+ ------------------------------------------------------------ */
7
+ --sh-i: ; // for inset
8
+ --sh-hsl: 220 4% 8%;
9
+ --sh-a: 5%;
10
+ --sh-c: hsl(var(--sh-hsl) / var(--sh-a));
11
+
12
+ // x:fibo, y=fibo, blur=x+y*2 のパターン
13
+ // --sh--0: var(--sh-i) 0px 1px 2px var(--sh-c);
14
+ --sh--5: var(--sh-i) 0px 2px 4px var(--sh-c);
15
+ --sh--10: var(--sh-i) 1px 3px 6px var(--sh-c);
16
+ --sh--20: var(--sh-i) 1px 5px 10px var(--sh-c);
17
+ --sh--30: var(--sh-i) 2px 8px 16px var(--sh-c);
18
+ --sh--40: var(--sh-i) 3px 13px 26px var(--sh-c);
19
+ --sh--50: var(--sh-i) 5px 21px 42px var(--sh-c);
20
+
21
+ // --bxsh--5: var(--sh--0), var(--sh--5);
22
+ --bxsh--10: var(--sh--5), var(--sh--10);
23
+ --bxsh--20: var(--sh--10), var(--sh--20);
24
+ --bxsh--30: var(--sh--20), var(--sh--30);
25
+ --bxsh--40: var(--sh--30), var(--sh--40);
26
+ --bxsh--50: var(--sh--40), var(--sh--50);
27
+ }
@@ -0,0 +1,8 @@
1
+ .set-snap {
2
+ scroll-snap-type: var(--snap-type, both mandatory);
3
+
4
+ & > * {
5
+ scroll-snap-align: var(--snap-align, start);
6
+ scroll-snap-stop: var(--snap-stop, normal);
7
+ }
8
+ }