@fringeworks/style-layouts 0.0.0-stage → 0.8.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 (267) hide show
  1. package/LICENSE +21 -0
  2. package/README.ja.md +331 -0
  3. package/README.md +331 -3
  4. package/_constants.cjs +327 -0
  5. package/_constants.d.cts +237 -0
  6. package/_constants.d.mts +237 -0
  7. package/_constants.mjs +275 -0
  8. package/_internal/applyGap.cjs +30 -0
  9. package/_internal/applyGap.d.cts +12 -0
  10. package/_internal/applyGap.d.mts +13 -0
  11. package/_internal/applyGap.mjs +30 -0
  12. package/_internal/applyItemCount.cjs +20 -0
  13. package/_internal/applyItemCount.d.cts +5 -0
  14. package/_internal/applyItemCount.d.mts +6 -0
  15. package/_internal/applyItemCount.mjs +20 -0
  16. package/_internal/applyItemRatio.cjs +21 -0
  17. package/_internal/applyItemRatio.d.cts +11 -0
  18. package/_internal/applyItemRatio.d.mts +12 -0
  19. package/_internal/applyItemRatio.mjs +21 -0
  20. package/_internal/applyItemSize.cjs +21 -0
  21. package/_internal/applyItemSize.d.cts +5 -0
  22. package/_internal/applyItemSize.d.mts +6 -0
  23. package/_internal/applyItemSize.mjs +21 -0
  24. package/_internal/hasValue.cjs +15 -0
  25. package/_internal/hasValue.d.cts +8 -0
  26. package/_internal/hasValue.d.mts +9 -0
  27. package/_internal/hasValue.mjs +14 -0
  28. package/_internal/mergeClassName.cjs +11 -0
  29. package/_internal/mergeClassName.d.cts +3 -0
  30. package/_internal/mergeClassName.d.mts +4 -0
  31. package/_internal/mergeClassName.mjs +10 -0
  32. package/_internal/mergeLayoutResults.cjs +16 -0
  33. package/_internal/mergeLayoutResults.d.cts +5 -0
  34. package/_internal/mergeLayoutResults.d.mts +6 -0
  35. package/_internal/mergeLayoutResults.mjs +16 -0
  36. package/_internal/unit.cjs +9 -0
  37. package/_internal/unit.d.cts +11 -0
  38. package/_internal/unit.d.mts +12 -0
  39. package/_internal/unit.mjs +8 -0
  40. package/_styles.scss.cjs +1 -0
  41. package/_styles.scss.d.cts +1 -0
  42. package/_styles.scss.d.mts +1 -0
  43. package/_styles.scss.mjs +3 -0
  44. package/_types.cjs +0 -0
  45. package/_types.d.cts +115 -0
  46. package/_types.d.mts +115 -0
  47. package/_types.mjs +1 -0
  48. package/_virtual/_rolldown/runtime.cjs +29 -0
  49. package/balance/balance.cjs +37 -0
  50. package/balance/balance.d.cts +13 -0
  51. package/balance/balance.d.mts +14 -0
  52. package/balance/balance.mjs +35 -0
  53. package/balance/index.cjs +3 -0
  54. package/balance/index.d.cts +3 -0
  55. package/balance/index.d.mts +3 -0
  56. package/balance/index.mjs +3 -0
  57. package/balance/styles.css +131 -0
  58. package/balance/types.cjs +0 -0
  59. package/balance/types.d.cts +21 -0
  60. package/balance/types.d.mts +21 -0
  61. package/balance/types.mjs +1 -0
  62. package/center/center.cjs +34 -0
  63. package/center/center.d.cts +12 -0
  64. package/center/center.d.mts +13 -0
  65. package/center/center.mjs +32 -0
  66. package/center/index.cjs +3 -0
  67. package/center/index.d.cts +3 -0
  68. package/center/index.d.mts +3 -0
  69. package/center/index.mjs +3 -0
  70. package/center/styles.css +157 -0
  71. package/center/types.cjs +0 -0
  72. package/center/types.d.cts +9 -0
  73. package/center/types.d.mts +9 -0
  74. package/center/types.mjs +1 -0
  75. package/constants.cjs +109 -0
  76. package/constants.d.cts +112 -0
  77. package/constants.d.mts +112 -0
  78. package/constants.mjs +101 -0
  79. package/flow/flow.cjs +71 -0
  80. package/flow/flow.d.cts +12 -0
  81. package/flow/flow.d.mts +13 -0
  82. package/flow/flow.mjs +69 -0
  83. package/flow/index.cjs +3 -0
  84. package/flow/index.d.cts +3 -0
  85. package/flow/index.d.mts +3 -0
  86. package/flow/index.mjs +3 -0
  87. package/flow/styles.css +160 -0
  88. package/flow/types.cjs +0 -0
  89. package/flow/types.d.cts +21 -0
  90. package/flow/types.d.mts +21 -0
  91. package/flow/types.mjs +1 -0
  92. package/helpers/_internal/constants.cjs +25 -0
  93. package/helpers/_internal/constants.d.cts +13 -0
  94. package/helpers/_internal/constants.d.mts +13 -0
  95. package/helpers/_internal/constants.mjs +16 -0
  96. package/helpers/_internal/createExtractLayoutOptions.cjs +25 -0
  97. package/helpers/_internal/createExtractLayoutOptions.d.cts +8 -0
  98. package/helpers/_internal/createExtractLayoutOptions.d.mts +9 -0
  99. package/helpers/_internal/createExtractLayoutOptions.mjs +24 -0
  100. package/helpers/extractBalanceOptions.cjs +15 -0
  101. package/helpers/extractBalanceOptions.d.cts +5 -0
  102. package/helpers/extractBalanceOptions.d.mts +6 -0
  103. package/helpers/extractBalanceOptions.mjs +15 -0
  104. package/helpers/extractCenterOptions.cjs +14 -0
  105. package/helpers/extractCenterOptions.d.cts +6 -0
  106. package/helpers/extractCenterOptions.d.mts +7 -0
  107. package/helpers/extractCenterOptions.mjs +14 -0
  108. package/helpers/extractFlowOptions.cjs +15 -0
  109. package/helpers/extractFlowOptions.d.cts +6 -0
  110. package/helpers/extractFlowOptions.d.mts +7 -0
  111. package/helpers/extractFlowOptions.mjs +15 -0
  112. package/helpers/extractLayerOptions.cjs +13 -0
  113. package/helpers/extractLayerOptions.d.cts +6 -0
  114. package/helpers/extractLayerOptions.d.mts +7 -0
  115. package/helpers/extractLayerOptions.mjs +13 -0
  116. package/helpers/extractMatrixOptions.cjs +17 -0
  117. package/helpers/extractMatrixOptions.d.cts +5 -0
  118. package/helpers/extractMatrixOptions.d.mts +6 -0
  119. package/helpers/extractMatrixOptions.mjs +17 -0
  120. package/helpers/extractPackOptions.cjs +8 -0
  121. package/helpers/extractPackOptions.d.cts +6 -0
  122. package/helpers/extractPackOptions.d.mts +7 -0
  123. package/helpers/extractPackOptions.mjs +8 -0
  124. package/helpers/extractPinOptions.cjs +8 -0
  125. package/helpers/extractPinOptions.d.cts +6 -0
  126. package/helpers/extractPinOptions.d.mts +7 -0
  127. package/helpers/extractPinOptions.mjs +8 -0
  128. package/helpers/extractStackOptions.cjs +15 -0
  129. package/helpers/extractStackOptions.d.cts +6 -0
  130. package/helpers/extractStackOptions.d.mts +7 -0
  131. package/helpers/extractStackOptions.mjs +15 -0
  132. package/helpers/extractTileOptions.cjs +15 -0
  133. package/helpers/extractTileOptions.d.cts +6 -0
  134. package/helpers/extractTileOptions.d.mts +7 -0
  135. package/helpers/extractTileOptions.mjs +15 -0
  136. package/helpers/index.cjs +20 -0
  137. package/helpers/index.d.cts +10 -0
  138. package/helpers/index.d.mts +10 -0
  139. package/helpers/index.mjs +11 -0
  140. package/index.cjs +20 -0
  141. package/index.d.cts +20 -0
  142. package/index.d.mts +20 -0
  143. package/index.mjs +11 -0
  144. package/layer/index.cjs +3 -0
  145. package/layer/index.d.cts +3 -0
  146. package/layer/index.d.mts +3 -0
  147. package/layer/index.mjs +3 -0
  148. package/layer/layer.cjs +34 -0
  149. package/layer/layer.d.cts +13 -0
  150. package/layer/layer.d.mts +14 -0
  151. package/layer/layer.mjs +32 -0
  152. package/layer/styles.css +56 -0
  153. package/layer/types.cjs +0 -0
  154. package/layer/types.d.cts +13 -0
  155. package/layer/types.d.mts +13 -0
  156. package/layer/types.mjs +1 -0
  157. package/matrix/index.cjs +3 -0
  158. package/matrix/index.d.cts +3 -0
  159. package/matrix/index.d.mts +3 -0
  160. package/matrix/index.mjs +3 -0
  161. package/matrix/matrix.cjs +110 -0
  162. package/matrix/matrix.d.cts +12 -0
  163. package/matrix/matrix.d.mts +13 -0
  164. package/matrix/matrix.mjs +108 -0
  165. package/matrix/styles.css +141 -0
  166. package/matrix/types.cjs +0 -0
  167. package/matrix/types.d.cts +46 -0
  168. package/matrix/types.d.mts +46 -0
  169. package/matrix/types.mjs +1 -0
  170. package/pack/index.cjs +3 -0
  171. package/pack/index.d.cts +3 -0
  172. package/pack/index.d.mts +3 -0
  173. package/pack/index.mjs +3 -0
  174. package/pack/pack.cjs +25 -0
  175. package/pack/pack.d.cts +11 -0
  176. package/pack/pack.d.mts +12 -0
  177. package/pack/pack.mjs +23 -0
  178. package/pack/styles.css +35 -0
  179. package/pack/types.cjs +0 -0
  180. package/pack/types.d.cts +6 -0
  181. package/pack/types.d.mts +6 -0
  182. package/pack/types.mjs +1 -0
  183. package/package.json +52 -4
  184. package/pin/index.cjs +3 -0
  185. package/pin/index.d.cts +3 -0
  186. package/pin/index.d.mts +3 -0
  187. package/pin/index.mjs +3 -0
  188. package/pin/pin.cjs +23 -0
  189. package/pin/pin.d.cts +11 -0
  190. package/pin/pin.d.mts +12 -0
  191. package/pin/pin.mjs +23 -0
  192. package/pin/styles.css +19 -0
  193. package/pin/types.cjs +0 -0
  194. package/pin/types.d.cts +6 -0
  195. package/pin/types.d.mts +6 -0
  196. package/pin/types.mjs +1 -0
  197. package/stack/index.cjs +3 -0
  198. package/stack/index.d.cts +3 -0
  199. package/stack/index.d.mts +3 -0
  200. package/stack/index.mjs +3 -0
  201. package/stack/stack.cjs +96 -0
  202. package/stack/stack.d.cts +11 -0
  203. package/stack/stack.d.mts +12 -0
  204. package/stack/stack.mjs +94 -0
  205. package/stack/styles.css +167 -0
  206. package/stack/types.cjs +0 -0
  207. package/stack/types.d.cts +21 -0
  208. package/stack/types.d.mts +21 -0
  209. package/stack/types.mjs +1 -0
  210. package/styles.css +1055 -0
  211. package/tile/index.cjs +3 -0
  212. package/tile/index.d.cts +3 -0
  213. package/tile/index.d.mts +3 -0
  214. package/tile/index.mjs +3 -0
  215. package/tile/styles.css +181 -0
  216. package/tile/tile.cjs +36 -0
  217. package/tile/tile.d.cts +12 -0
  218. package/tile/tile.d.mts +13 -0
  219. package/tile/tile.mjs +34 -0
  220. package/tile/types.cjs +0 -0
  221. package/tile/types.d.cts +9 -0
  222. package/tile/types.d.mts +9 -0
  223. package/tile/types.mjs +1 -0
  224. package/types.cjs +0 -0
  225. package/types.d.cts +14 -0
  226. package/types.d.mts +14 -0
  227. package/types.mjs +1 -0
  228. package/with-css/balance/index.cjs +8 -0
  229. package/with-css/balance/index.d.cts +3 -0
  230. package/with-css/balance/index.d.mts +3 -0
  231. package/with-css/balance/index.mjs +8 -0
  232. package/with-css/center/index.cjs +8 -0
  233. package/with-css/center/index.d.cts +3 -0
  234. package/with-css/center/index.d.mts +3 -0
  235. package/with-css/center/index.mjs +8 -0
  236. package/with-css/flow/index.cjs +8 -0
  237. package/with-css/flow/index.d.cts +3 -0
  238. package/with-css/flow/index.d.mts +3 -0
  239. package/with-css/flow/index.mjs +8 -0
  240. package/with-css/index.cjs +20 -0
  241. package/with-css/index.d.cts +20 -0
  242. package/with-css/index.d.mts +20 -0
  243. package/with-css/index.mjs +11 -0
  244. package/with-css/layer/index.cjs +8 -0
  245. package/with-css/layer/index.d.cts +3 -0
  246. package/with-css/layer/index.d.mts +3 -0
  247. package/with-css/layer/index.mjs +8 -0
  248. package/with-css/matrix/index.cjs +8 -0
  249. package/with-css/matrix/index.d.cts +3 -0
  250. package/with-css/matrix/index.d.mts +3 -0
  251. package/with-css/matrix/index.mjs +8 -0
  252. package/with-css/pack/index.cjs +8 -0
  253. package/with-css/pack/index.d.cts +3 -0
  254. package/with-css/pack/index.d.mts +3 -0
  255. package/with-css/pack/index.mjs +8 -0
  256. package/with-css/pin/index.cjs +8 -0
  257. package/with-css/pin/index.d.cts +3 -0
  258. package/with-css/pin/index.d.mts +3 -0
  259. package/with-css/pin/index.mjs +8 -0
  260. package/with-css/stack/index.cjs +8 -0
  261. package/with-css/stack/index.d.cts +3 -0
  262. package/with-css/stack/index.d.mts +3 -0
  263. package/with-css/stack/index.mjs +8 -0
  264. package/with-css/tile/index.cjs +8 -0
  265. package/with-css/tile/index.d.cts +3 -0
  266. package/with-css/tile/index.d.mts +3 -0
  267. package/with-css/tile/index.mjs +8 -0
@@ -0,0 +1,96 @@
1
+ const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
2
+ const require__constants = require('../_constants.cjs');
3
+ const require__internal_hasValue = require('../_internal/hasValue.cjs');
4
+ const require__internal_mergeClassName = require('../_internal/mergeClassName.cjs');
5
+ const require__internal_unit = require('../_internal/unit.cjs');
6
+ const require__internal_applyGap = require('../_internal/applyGap.cjs');
7
+ const require__internal_applyItemRatio = require('../_internal/applyItemRatio.cjs');
8
+ const require__internal_mergeLayoutResults = require('../_internal/mergeLayoutResults.cjs');
9
+ let _fringeworks_utils_object_maybeDefault = require("@fringeworks/utils/object/maybeDefault");
10
+ _fringeworks_utils_object_maybeDefault = require_runtime.__toESM(_fringeworks_utils_object_maybeDefault, 1);
11
+
12
+ //#region src/stack/stack.ts
13
+ /**
14
+ * stackレイアウト
15
+ *
16
+ * - 子要素を一列に並べて配置する
17
+ */
18
+ const stack = (options = {}) => {
19
+ const { direction, alignX, alignY, adjustX, adjustY, gap, gapX, gapY, itemSizeX, itemSizeY, itemRatioX, itemRatioY } = (0, _fringeworks_utils_object_maybeDefault.default)(options, {
20
+ direction: "x",
21
+ alignX: "left",
22
+ alignY: "top",
23
+ adjustX: "none",
24
+ adjustY: "none"
25
+ }, { overwriteNull: true });
26
+ const result = {
27
+ className: require__internal_mergeClassName(require__constants.clsLayoutStack, require__constants.clsLayout.direction[direction], require__constants.clsLayout.align.x[alignX], require__constants.clsLayout.align.y[alignY]),
28
+ style: {}
29
+ };
30
+ require__internal_applyGap(result, gap, gapX, gapY);
31
+ require__internal_applyItemRatio(result, itemRatioX, itemRatioY);
32
+ const resultList = [result];
33
+ if (direction === "x") {
34
+ resultList.push(_getStackMainAxisStyle("x", alignX, adjustX, itemSizeX));
35
+ resultList.push(_getStackClossAxisStyle("y", alignY, adjustY, itemSizeY));
36
+ } else {
37
+ resultList.push(_getStackMainAxisStyle("y", alignY, adjustY, itemSizeY));
38
+ resultList.push(_getStackClossAxisStyle("x", alignX, adjustX, itemSizeX));
39
+ }
40
+ return require__internal_mergeLayoutResults(resultList);
41
+ };
42
+ /**
43
+ * 主軸方向のスタイル
44
+ * @param axis 横 or 縦
45
+ * @param align 位置
46
+ * @param adjust 子要素のサイズの調整
47
+ * @param itemSize 子要素のサイズ
48
+ * @returns スタイル
49
+ */
50
+ function _getStackMainAxisStyle(axis, align, adjust, itemSize) {
51
+ const result = { className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align], require__constants.clsLayout.adjust[axis][adjust]) };
52
+ if (require__internal_hasValue(itemSize)) {
53
+ result.className = require__internal_mergeClassName(result.className, require__constants.clsLayout.itemSize[axis]);
54
+ result.style = { [require__constants.varLayout.itemSize[axis]]: require__internal_unit(itemSize) };
55
+ }
56
+ return result;
57
+ }
58
+ /**
59
+ * 交差軸方向のクラス
60
+ * @param axis 横 or 縦
61
+ * @param align 位置
62
+ * @param adjust 子要素のサイズの調整
63
+ * @param itemSize 子要素のサイズ
64
+ * @returns スタイル
65
+ */
66
+ function _getStackClossAxisStyle(axis, align, adjust, itemSize) {
67
+ if (adjust === "fit") return { className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align], require__constants.clsLayout.adjust[axis][adjust]) };
68
+ else if (adjust === "grow") {
69
+ const result = {
70
+ className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align], require__constants.clsLayout.adjust[axis][adjust]),
71
+ style: {}
72
+ };
73
+ if (require__internal_hasValue(itemSize)) {
74
+ result.className = require__internal_mergeClassName(result.className, require__constants.clsLayout.itemSize[axis]);
75
+ result.style = { [require__constants.varLayout.itemSize[axis]]: require__internal_unit(itemSize) };
76
+ }
77
+ return result;
78
+ } else if (adjust === "shrink") {
79
+ const result = {
80
+ className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align], require__constants.clsLayout.adjust[axis][adjust]),
81
+ style: {}
82
+ };
83
+ if (require__internal_hasValue(itemSize)) {
84
+ result.className = require__internal_mergeClassName(result.className, require__constants.clsLayout.itemSize[axis]);
85
+ result.style = { [require__constants.varLayout.itemSize[axis]]: `min(${require__internal_unit(itemSize)}, 100%)` };
86
+ }
87
+ return result;
88
+ } else if (require__internal_hasValue(itemSize)) return {
89
+ className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align], require__constants.clsLayout.itemSize[axis]),
90
+ style: { [require__constants.varLayout.itemSize[axis]]: require__internal_unit(itemSize) }
91
+ };
92
+ else return { className: require__internal_mergeClassName(require__constants.clsLayout.align[axis][align]) };
93
+ }
94
+
95
+ //#endregion
96
+ module.exports = stack;
@@ -0,0 +1,11 @@
1
+ import { CreateLayoutStyle } from "../types.cjs";
2
+ import { StackLayoutOptions } from "./types.cjs";
3
+
4
+ //#region src/stack/stack.d.ts
5
+ /**
6
+ * stackレイアウト
7
+ *
8
+ * - 子要素を一列に並べて配置する
9
+ */
10
+ declare const stack: CreateLayoutStyle<StackLayoutOptions>;
11
+ export = stack;
@@ -0,0 +1,12 @@
1
+ import { CreateLayoutStyle } from "../types.mjs";
2
+ import { StackLayoutOptions } from "./types.mjs";
3
+
4
+ //#region src/stack/stack.d.ts
5
+ /**
6
+ * stackレイアウト
7
+ *
8
+ * - 子要素を一列に並べて配置する
9
+ */
10
+ declare const stack: CreateLayoutStyle<StackLayoutOptions>;
11
+ //#endregion
12
+ export { stack as default };
@@ -0,0 +1,94 @@
1
+ import { clsLayout, clsLayoutStack, varLayout } from "../_constants.mjs";
2
+ import hasValue from "../_internal/hasValue.mjs";
3
+ import mergeClassName from "../_internal/mergeClassName.mjs";
4
+ import unit from "../_internal/unit.mjs";
5
+ import applyGap from "../_internal/applyGap.mjs";
6
+ import applyItemRatio from "../_internal/applyItemRatio.mjs";
7
+ import mergeLayoutResults from "../_internal/mergeLayoutResults.mjs";
8
+ import maybeDefault from "@fringeworks/utils/object/maybeDefault";
9
+
10
+ //#region src/stack/stack.ts
11
+ /**
12
+ * stackレイアウト
13
+ *
14
+ * - 子要素を一列に並べて配置する
15
+ */
16
+ const stack = (options = {}) => {
17
+ const { direction, alignX, alignY, adjustX, adjustY, gap, gapX, gapY, itemSizeX, itemSizeY, itemRatioX, itemRatioY } = maybeDefault(options, {
18
+ direction: "x",
19
+ alignX: "left",
20
+ alignY: "top",
21
+ adjustX: "none",
22
+ adjustY: "none"
23
+ }, { overwriteNull: true });
24
+ const result = {
25
+ className: mergeClassName(clsLayoutStack, clsLayout.direction[direction], clsLayout.align.x[alignX], clsLayout.align.y[alignY]),
26
+ style: {}
27
+ };
28
+ applyGap(result, gap, gapX, gapY);
29
+ applyItemRatio(result, itemRatioX, itemRatioY);
30
+ const resultList = [result];
31
+ if (direction === "x") {
32
+ resultList.push(_getStackMainAxisStyle("x", alignX, adjustX, itemSizeX));
33
+ resultList.push(_getStackClossAxisStyle("y", alignY, adjustY, itemSizeY));
34
+ } else {
35
+ resultList.push(_getStackMainAxisStyle("y", alignY, adjustY, itemSizeY));
36
+ resultList.push(_getStackClossAxisStyle("x", alignX, adjustX, itemSizeX));
37
+ }
38
+ return mergeLayoutResults(resultList);
39
+ };
40
+ /**
41
+ * 主軸方向のスタイル
42
+ * @param axis 横 or 縦
43
+ * @param align 位置
44
+ * @param adjust 子要素のサイズの調整
45
+ * @param itemSize 子要素のサイズ
46
+ * @returns スタイル
47
+ */
48
+ function _getStackMainAxisStyle(axis, align, adjust, itemSize) {
49
+ const result = { className: mergeClassName(clsLayout.align[axis][align], clsLayout.adjust[axis][adjust]) };
50
+ if (hasValue(itemSize)) {
51
+ result.className = mergeClassName(result.className, clsLayout.itemSize[axis]);
52
+ result.style = { [varLayout.itemSize[axis]]: unit(itemSize) };
53
+ }
54
+ return result;
55
+ }
56
+ /**
57
+ * 交差軸方向のクラス
58
+ * @param axis 横 or 縦
59
+ * @param align 位置
60
+ * @param adjust 子要素のサイズの調整
61
+ * @param itemSize 子要素のサイズ
62
+ * @returns スタイル
63
+ */
64
+ function _getStackClossAxisStyle(axis, align, adjust, itemSize) {
65
+ if (adjust === "fit") return { className: mergeClassName(clsLayout.align[axis][align], clsLayout.adjust[axis][adjust]) };
66
+ else if (adjust === "grow") {
67
+ const result = {
68
+ className: mergeClassName(clsLayout.align[axis][align], clsLayout.adjust[axis][adjust]),
69
+ style: {}
70
+ };
71
+ if (hasValue(itemSize)) {
72
+ result.className = mergeClassName(result.className, clsLayout.itemSize[axis]);
73
+ result.style = { [varLayout.itemSize[axis]]: unit(itemSize) };
74
+ }
75
+ return result;
76
+ } else if (adjust === "shrink") {
77
+ const result = {
78
+ className: mergeClassName(clsLayout.align[axis][align], clsLayout.adjust[axis][adjust]),
79
+ style: {}
80
+ };
81
+ if (hasValue(itemSize)) {
82
+ result.className = mergeClassName(result.className, clsLayout.itemSize[axis]);
83
+ result.style = { [varLayout.itemSize[axis]]: `min(${unit(itemSize)}, 100%)` };
84
+ }
85
+ return result;
86
+ } else if (hasValue(itemSize)) return {
87
+ className: mergeClassName(clsLayout.align[axis][align], clsLayout.itemSize[axis]),
88
+ style: { [varLayout.itemSize[axis]]: unit(itemSize) }
89
+ };
90
+ else return { className: mergeClassName(clsLayout.align[axis][align]) };
91
+ }
92
+
93
+ //#endregion
94
+ export { stack as default };
@@ -0,0 +1,167 @@
1
+ .lx-layout-stack {
2
+ --lx-layout-gapX: 0px;
3
+ --lx-layout-gapY: 0px;
4
+ --lx-layout-itemSizeX: auto;
5
+ --lx-layout-itemSizeY: auto;
6
+ --lx-layout-itemRatio: auto;
7
+ display: flex;
8
+ }
9
+ .lx-layout-stack.lx-layout-direction-x {
10
+ flex-direction: row;
11
+ }
12
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-left {
13
+ justify-content: flex-start;
14
+ }
15
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-center {
16
+ justify-content: center;
17
+ }
18
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-right {
19
+ justify-content: flex-end;
20
+ }
21
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-spaceBetween {
22
+ justify-content: space-between;
23
+ }
24
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-spaceAround {
25
+ justify-content: space-around;
26
+ }
27
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignX-spaceEvenly {
28
+ justify-content: space-evenly;
29
+ }
30
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignY-top {
31
+ align-items: flex-start;
32
+ }
33
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignY-middle {
34
+ align-items: center;
35
+ }
36
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-alignY-bottom {
37
+ align-items: flex-end;
38
+ }
39
+ .lx-layout-stack.lx-layout-direction-x > * {
40
+ flex-grow: 0;
41
+ flex-shrink: 0;
42
+ min-width: 0;
43
+ min-height: 0;
44
+ }
45
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-itemSizeX > * {
46
+ flex-basis: var(--lx-layout-itemSizeX);
47
+ }
48
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustX-fit {
49
+ justify-content: flex-start;
50
+ }
51
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustX-fit > * {
52
+ flex-grow: 1;
53
+ flex-shrink: 1;
54
+ flex-basis: auto;
55
+ }
56
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustX-fit.lx-layout-itemSizeX > * {
57
+ flex-basis: var(--lx-layout-itemSizeX);
58
+ }
59
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustX-grow > * {
60
+ flex-grow: 1;
61
+ }
62
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustX-shrink > * {
63
+ flex-shrink: 1;
64
+ }
65
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-itemSizeY > * {
66
+ height: var(--lx-layout-itemSizeY);
67
+ }
68
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustY-fit {
69
+ align-items: stretch;
70
+ }
71
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustY-fit > * {
72
+ min-height: 100%;
73
+ max-height: 100%;
74
+ }
75
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustY-fit.lx-layout-itemSizeY > * {
76
+ height: auto;
77
+ }
78
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustY-grow > * {
79
+ min-height: 100%;
80
+ }
81
+ .lx-layout-stack.lx-layout-direction-x.lx-layout-adjustY-shrink > * {
82
+ max-height: 100%;
83
+ }
84
+ .lx-layout-stack.lx-layout-direction-y {
85
+ flex-direction: column;
86
+ }
87
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignX-left {
88
+ align-items: flex-start;
89
+ }
90
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignX-center {
91
+ align-items: center;
92
+ }
93
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignX-right {
94
+ align-items: flex-end;
95
+ }
96
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-top {
97
+ justify-content: flex-start;
98
+ }
99
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-middle {
100
+ justify-content: center;
101
+ }
102
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-bottom {
103
+ justify-content: flex-end;
104
+ }
105
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-spaceBetween {
106
+ justify-content: space-between;
107
+ }
108
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-spaceAround {
109
+ justify-content: space-around;
110
+ }
111
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-alignY-spaceEvenly {
112
+ justify-content: space-evenly;
113
+ }
114
+ .lx-layout-stack.lx-layout-direction-y > * {
115
+ flex-grow: 0;
116
+ flex-shrink: 0;
117
+ min-width: 0;
118
+ min-height: 0;
119
+ }
120
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-itemSizeX > * {
121
+ width: var(--lx-layout-itemSizeX);
122
+ }
123
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustX-fit {
124
+ align-items: stretch;
125
+ }
126
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustX-fit > * {
127
+ min-width: 100%;
128
+ max-width: 100%;
129
+ }
130
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustX-fit.lx-layout-itemSizeX > * {
131
+ width: auto;
132
+ }
133
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustX-grow > * {
134
+ min-width: 100%;
135
+ }
136
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustX-shrink > * {
137
+ max-width: 100%;
138
+ }
139
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-itemSizeY > * {
140
+ flex-basis: var(--lx-layout-itemSizeY);
141
+ }
142
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustY-fit {
143
+ justify-content: flex-start;
144
+ }
145
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustY-fit > * {
146
+ flex-grow: 1;
147
+ flex-shrink: 1;
148
+ flex-basis: auto;
149
+ }
150
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustY-fit.lx-layout-itemSizeY > * {
151
+ flex-basis: var(--lx-layout-itemSizeY);
152
+ }
153
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustY-grow > * {
154
+ flex-grow: 1;
155
+ }
156
+ .lx-layout-stack.lx-layout-direction-y.lx-layout-adjustY-shrink > * {
157
+ flex-shrink: 1;
158
+ }
159
+ .lx-layout-stack.lx-layout-itemRatio > * {
160
+ aspect-ratio: var(--lx-layout-itemRatio);
161
+ }
162
+ .lx-layout-stack.lx-layout-gapX {
163
+ column-gap: var(--lx-layout-gapX);
164
+ }
165
+ .lx-layout-stack.lx-layout-gapY {
166
+ row-gap: var(--lx-layout-gapY);
167
+ }
File without changes
@@ -0,0 +1,21 @@
1
+ import { AlignXBase, AlignYBase } from "../constants.cjs";
2
+ import { AdjustOptions, AlignOptions, DirectionOptions, GapOptions, ItemRatioOptions, ItemSizeOptions } from "../_types.cjs";
3
+
4
+ //#region src/stack/types.d.ts
5
+ /**
6
+ * stackのオプション
7
+ *
8
+ * - `direction='x'` 時: `alignY` に `space-between`,`space-around`,`space-evenly` 指定不可
9
+ * - `direction='y'` 時: `alignX` に `space-between`,`space-around`,`space-evenly` 指定不可
10
+ */
11
+ type StackLayoutOptions = AdjustOptions & ItemSizeOptions & ItemRatioOptions & GapOptions & StackDirectionWithAlignOptions;
12
+ /**
13
+ * direction & alignのオプション
14
+ */
15
+ type StackDirectionWithAlignOptions = (DirectionOptions<'x'> & Omit<AlignOptions, 'alignY'> & {
16
+ alignY?: AlignYBase;
17
+ }) | (DirectionOptions<'y'> & Omit<AlignOptions, 'alignX'> & {
18
+ alignX?: AlignXBase;
19
+ });
20
+ //#endregion
21
+ export { StackLayoutOptions };
@@ -0,0 +1,21 @@
1
+ import { AlignXBase, AlignYBase } from "../constants.mjs";
2
+ import { AdjustOptions, AlignOptions, DirectionOptions, GapOptions, ItemRatioOptions, ItemSizeOptions } from "../_types.mjs";
3
+
4
+ //#region src/stack/types.d.ts
5
+ /**
6
+ * stackのオプション
7
+ *
8
+ * - `direction='x'` 時: `alignY` に `space-between`,`space-around`,`space-evenly` 指定不可
9
+ * - `direction='y'` 時: `alignX` に `space-between`,`space-around`,`space-evenly` 指定不可
10
+ */
11
+ type StackLayoutOptions = AdjustOptions & ItemSizeOptions & ItemRatioOptions & GapOptions & StackDirectionWithAlignOptions;
12
+ /**
13
+ * direction & alignのオプション
14
+ */
15
+ type StackDirectionWithAlignOptions = (DirectionOptions<'x'> & Omit<AlignOptions, 'alignY'> & {
16
+ alignY?: AlignYBase;
17
+ }) | (DirectionOptions<'y'> & Omit<AlignOptions, 'alignX'> & {
18
+ alignX?: AlignXBase;
19
+ });
20
+ //#endregion
21
+ export { StackLayoutOptions };
@@ -0,0 +1 @@
1
+ export { };