@openameba/spindle-ui 0.50.1-alpha.2 → 0.51.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.51.0](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.50.1...@openameba/spindle-ui@0.51.0) (2022-11-07)
7
+
8
+
9
+ ### Features
10
+
11
+ * **spindle-ui:** use spindle-hooks ([69885ba](https://github.com/openameba/spindle/commit/69885bae6c477632bc2a8375ac780ccac022ac7c))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.50.1-alpha.2](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.50.1-alpha.0...@openameba/spindle-ui@0.50.1-alpha.2) (2022-10-28)
7
18
 
8
19
 
@@ -22,6 +33,17 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
22
33
 
23
34
 
24
35
 
36
+ ## [0.50.1](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.50.0...@openameba/spindle-ui@0.50.1) (2022-10-27)
37
+
38
+
39
+ ### Bug Fixes
40
+
41
+ * **spindle-ui:** pagination style and docs ([a307efb](https://github.com/openameba/spindle/commit/a307efb1c70c700b739afe98336d2a5c2bff06c5))
42
+
43
+
44
+
45
+
46
+
25
47
  ## [0.50.1-alpha.0](https://github.com/openameba/spindle/compare/@openameba/spindle-ui@0.50.0...@openameba/spindle-ui@0.50.1-alpha.0) (2022-10-26)
26
48
 
27
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAM3C,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,CACZ,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAID,eAAO,MAAM,UAAU,UAAW,KAAK,gBA2ItC,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAM3C,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,CACZ,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC3C;AAID,eAAO,MAAM,UAAU,UAAW,KAAK,gBAoJtC,CAAC"}
@@ -56,12 +56,10 @@ var useShowItem_1 = require("./hooks/useShowItem");
56
56
  var BLOCK_NAME = 'spui-Pagination';
57
57
  var Pagination = function (props) {
58
58
  var current = props.current, total = props.total, _a = props.showCount, showCount = _a === void 0 ? false : _a, _b = props.showPrevNext, showPrevNext = _b === void 0 ? true : _b, _c = props.showFirstLast, showFirstLast = _c === void 0 ? false : _c, onPageChange = props.onPageChange, createUrl = props.createUrl, className = props.className, rest = __rest(props, ["current", "total", "showCount", "showPrevNext", "showFirstLast", "onPageChange", "createUrl", "className"]);
59
- var pageItem = 5;
60
59
  var _d = (0, useShowItem_1.useShowItem)({
61
60
  current: current,
62
61
  total: total,
63
- pageItem: pageItem,
64
- }), displayItem = _d.displayItem, showPrevHorizontal = _d.showPrevHorizontal, showNextHorizontal = _d.showNextHorizontal;
62
+ }), displayItem = _d.displayItem, showPrevHorizontal = _d.showPrevHorizontal, showNextHorizontal = _d.showNextHorizontal, hideDisplayItem = _d.hideDisplayItem;
65
63
  var handleClick = (0, react_1.useCallback)(function (event, pageNumber) {
66
64
  onPageChange === null || onPageChange === void 0 ? void 0 : onPageChange(event, pageNumber);
67
65
  }, [onPageChange]);
@@ -73,21 +71,25 @@ var Pagination = function (props) {
73
71
  react_1.default.createElement(PaginationItem_1.default, { type: "prev", current: current, total: total, onClick: handleClick, createUrl: createUrl }))),
74
72
  displayItem.map(function (pageNumber, index) {
75
73
  var isCurrent = current === pageNumber;
74
+ var isHidden = showPrevNext &&
75
+ hideDisplayItem &&
76
+ (current - 1 === pageNumber || current + 1 === pageNumber);
76
77
  var hasRelAttribute = current === pageNumber + 1;
77
- var isHidden = showPrevNext && (index === 1 || index === 3);
78
+ var showPrevMenuHorizontal = index === 0 && showPrevHorizontal;
79
+ var showNextMenuHorizontal = index === displayItem.length - 1 && showNextHorizontal;
78
80
  return (react_1.default.createElement("li", { className: [
79
81
  "".concat(BLOCK_NAME, "-item"),
80
82
  isHidden && "".concat(BLOCK_NAME, "-item--hidden"),
81
83
  ]
82
84
  .filter(Boolean)
83
85
  .join(' '), key: "pagination-item-".concat(pageNumber) },
84
- index === pageItem - 1 && showNextHorizontal && (react_1.default.createElement(MenuHorizontal_1.default, { "aria-hidden": "true", className: "".concat(BLOCK_NAME, "-horizontal") })),
86
+ showNextMenuHorizontal && (react_1.default.createElement(MenuHorizontal_1.default, { "aria-hidden": "true", className: "".concat(BLOCK_NAME, "-horizontal") })),
85
87
  react_1.default.createElement("a", { className: "".concat(BLOCK_NAME, "-link"), rel: hasRelAttribute ? undefined : 'nofollow', href: isCurrent ? undefined : createUrl(pageNumber), "aria-current": isCurrent ? 'page' : undefined, "aria-disabled": isCurrent ? true : undefined, onClick: isCurrent
86
88
  ? undefined
87
89
  : function (e) {
88
90
  handleClick(e, pageNumber);
89
91
  }, "aria-label": "".concat(pageNumber, "\u30DA\u30FC\u30B8\u76EE") }, pageNumber),
90
- index === 0 && showPrevHorizontal && (react_1.default.createElement(MenuHorizontal_1.default, { "aria-hidden": "true", className: "".concat(BLOCK_NAME, "-horizontal") }))));
92
+ showPrevMenuHorizontal && (react_1.default.createElement(MenuHorizontal_1.default, { "aria-hidden": "true", className: "".concat(BLOCK_NAME, "-horizontal") }))));
91
93
  }),
92
94
  showPrevNext && (react_1.default.createElement("li", { className: "".concat(BLOCK_NAME, "-item ").concat(BLOCK_NAME, "-item--next") },
93
95
  react_1.default.createElement(PaginationItem_1.default, { type: "next", current: current, total: total, onClick: handleClick, createUrl: createUrl }))),
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../src/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
@@ -5,11 +5,9 @@ import { useShowItem } from './hooks/useShowItem';
5
5
  const BLOCK_NAME = 'spui-Pagination';
6
6
  export const Pagination = (props) => {
7
7
  const { current, total, showCount = false, showPrevNext = true, showFirstLast = false, onPageChange, createUrl, className, ...rest } = props;
8
- const pageItem = 5;
9
- const { displayItem, showPrevHorizontal, showNextHorizontal } = useShowItem({
8
+ const { displayItem, showPrevHorizontal, showNextHorizontal, hideDisplayItem, } = useShowItem({
10
9
  current,
11
10
  total,
12
- pageItem,
13
11
  });
14
12
  const handleClick = useCallback((event, pageNumber) => {
15
13
  onPageChange?.(event, pageNumber);
@@ -22,21 +20,25 @@ export const Pagination = (props) => {
22
20
  React.createElement(PaginationItem, { type: "prev", current: current, total: total, onClick: handleClick, createUrl: createUrl }))),
23
21
  displayItem.map((pageNumber, index) => {
24
22
  const isCurrent = current === pageNumber;
23
+ const isHidden = showPrevNext &&
24
+ hideDisplayItem &&
25
+ (current - 1 === pageNumber || current + 1 === pageNumber);
25
26
  const hasRelAttribute = current === pageNumber + 1;
26
- const isHidden = showPrevNext && (index === 1 || index === 3);
27
+ const showPrevMenuHorizontal = index === 0 && showPrevHorizontal;
28
+ const showNextMenuHorizontal = index === displayItem.length - 1 && showNextHorizontal;
27
29
  return (React.createElement("li", { className: [
28
30
  `${BLOCK_NAME}-item`,
29
31
  isHidden && `${BLOCK_NAME}-item--hidden`,
30
32
  ]
31
33
  .filter(Boolean)
32
34
  .join(' '), key: `pagination-item-${pageNumber}` },
33
- index === pageItem - 1 && showNextHorizontal && (React.createElement(MenuHorizontal, { "aria-hidden": "true", className: `${BLOCK_NAME}-horizontal` })),
35
+ showNextMenuHorizontal && (React.createElement(MenuHorizontal, { "aria-hidden": "true", className: `${BLOCK_NAME}-horizontal` })),
34
36
  React.createElement("a", { className: `${BLOCK_NAME}-link`, rel: hasRelAttribute ? undefined : 'nofollow', href: isCurrent ? undefined : createUrl(pageNumber), "aria-current": isCurrent ? 'page' : undefined, "aria-disabled": isCurrent ? true : undefined, onClick: isCurrent
35
37
  ? undefined
36
38
  : (e) => {
37
39
  handleClick(e, pageNumber);
38
40
  }, "aria-label": `${pageNumber}ページ目` }, pageNumber),
39
- index === 0 && showPrevHorizontal && (React.createElement(MenuHorizontal, { "aria-hidden": "true", className: `${BLOCK_NAME}-horizontal` }))));
41
+ showPrevMenuHorizontal && (React.createElement(MenuHorizontal, { "aria-hidden": "true", className: `${BLOCK_NAME}-horizontal` }))));
40
42
  }),
41
43
  showPrevNext && (React.createElement("li", { className: `${BLOCK_NAME}-item ${BLOCK_NAME}-item--next` },
42
44
  React.createElement(PaginationItem, { type: "next", current: current, total: total, onClick: handleClick, createUrl: createUrl }))),
@@ -1,12 +1,12 @@
1
1
  declare type Payload = {
2
2
  current: number;
3
3
  total: number;
4
- pageItem: number;
5
4
  };
6
- export declare function useShowItem({ current, total, pageItem }: Payload): {
5
+ export declare function useShowItem({ current, total }: Payload): {
7
6
  displayItem: number[];
8
7
  showPrevHorizontal: boolean;
9
8
  showNextHorizontal: boolean;
9
+ hideDisplayItem: boolean;
10
10
  };
11
11
  export {};
12
12
  //# sourceMappingURL=useShowItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useShowItem.d.ts","sourceRoot":"","sources":["../../../src/Pagination/hooks/useShowItem.ts"],"names":[],"mappings":"AAEA,aAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAY,EAAE,EAAE,OAAO;;;;EAsBpE"}
1
+ {"version":3,"file":"useShowItem.d.ts","sourceRoot":"","sources":["../../../src/Pagination/hooks/useShowItem.ts"],"names":[],"mappings":"AAEA,aAAK,OAAO,GAAG;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO;;;;;EAiCtD"}
@@ -2,10 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useShowItem = void 0;
4
4
  var react_1 = require("react");
5
+ var MAX_PAGE_ITEM = 5;
5
6
  function useShowItem(_a) {
6
- var current = _a.current, total = _a.total, _b = _a.pageItem, pageItem = _b === void 0 ? 5 : _b;
7
+ var current = _a.current, total = _a.total;
7
8
  var displayItem = (0, react_1.useMemo)(function () {
8
- if (current === 1 || current === 2) {
9
+ if (total < MAX_PAGE_ITEM) {
10
+ // 総ページ数がMAX_PAGE_ITEMよりも小さい場合
11
+ return Array.from({ length: total }, function (_element, index) { return index + 1; });
12
+ }
13
+ else if (current === 1 || current === 2) {
9
14
  // 現在値が1か2の場合は"1,2,3,4,total"とする
10
15
  return [1, 2, 3, 4, total];
11
16
  }
@@ -19,10 +24,17 @@ function useShowItem(_a) {
19
24
  }
20
25
  }, [current, total]);
21
26
  // totalは表示数超えている前提で、前から2つ目のアイテムが2より大きいかどうか(最初が連続した数字じゃないことをチェック)
22
- var showPrevHorizontal = total > pageItem && 2 < displayItem[1];
27
+ var showPrevHorizontal = total > MAX_PAGE_ITEM && 2 < displayItem[1];
23
28
  // totalは表示数超えている前提で、後ろから2つ目のアイテムがtotal-1より小さいか(最後が連続した数字じゃないことをチェック)
24
- var showNextHorizontal = total > pageItem && displayItem[pageItem - 2] < total - 1;
25
- return { displayItem: displayItem, showPrevHorizontal: showPrevHorizontal, showNextHorizontal: showNextHorizontal };
29
+ var showNextHorizontal = total > MAX_PAGE_ITEM && displayItem[MAX_PAGE_ITEM - 2] < total - 1;
30
+ // 総ページ数が5件より大きい場合
31
+ var hideDisplayItem = total > MAX_PAGE_ITEM;
32
+ return {
33
+ displayItem: displayItem,
34
+ showPrevHorizontal: showPrevHorizontal,
35
+ showNextHorizontal: showNextHorizontal,
36
+ hideDisplayItem: hideDisplayItem,
37
+ };
26
38
  }
27
39
  exports.useShowItem = useShowItem;
28
40
  //# sourceMappingURL=useShowItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useShowItem.js","sourceRoot":"","sources":["../../../src/Pagination/hooks/useShowItem.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAQhC,SAAgB,WAAW,CAAC,EAAyC;QAAvC,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,gBAAY,EAAZ,QAAQ,mBAAG,CAAC,KAAA;IACxD,IAAM,WAAW,GAAG,IAAA,eAAO,EAAC;QAC1B,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YAClC,gCAAgC;YAChC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SAC5B;aAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,GAAG,CAAC,EAAE;YACrD,2CAA2C;YAC3C,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;SACtD;aAAM;YACL,+CAA+C;YAC/C,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,iEAAiE;IACjE,IAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAElE,qEAAqE;IACrE,IAAM,kBAAkB,GACtB,KAAK,GAAG,QAAQ,IAAI,WAAW,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAE5D,OAAO,EAAE,WAAW,aAAA,EAAE,kBAAkB,oBAAA,EAAE,kBAAkB,oBAAA,EAAE,CAAC;AACjE,CAAC;AAtBD,kCAsBC"}
1
+ {"version":3,"file":"useShowItem.js","sourceRoot":"","sources":["../../../src/Pagination/hooks/useShowItem.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAOhC,IAAM,aAAa,GAAG,CAAC,CAAC;AAExB,SAAgB,WAAW,CAAC,EAA2B;QAAzB,OAAO,aAAA,EAAE,KAAK,WAAA;IAC1C,IAAM,WAAW,GAAG,IAAA,eAAO,EAAC;QAC1B,IAAI,KAAK,GAAG,aAAa,EAAE;YACzB,8BAA8B;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,UAAC,QAAQ,EAAE,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,CAAC,CAAC;SACtE;aAAM,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE;YACzC,gCAAgC;YAChC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;SAC5B;aAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,KAAK,GAAG,CAAC,EAAE;YACrD,2CAA2C;YAC3C,OAAO,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;SACtD;aAAM;YACL,+CAA+C;YAC/C,OAAO,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,iEAAiE;IACjE,IAAM,kBAAkB,GAAG,KAAK,GAAG,aAAa,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IAEvE,qEAAqE;IACrE,IAAM,kBAAkB,GACtB,KAAK,GAAG,aAAa,IAAI,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAEtE,kBAAkB;IAClB,IAAM,eAAe,GAAG,KAAK,GAAG,aAAa,CAAC;IAE9C,OAAO;QACL,WAAW,aAAA;QACX,kBAAkB,oBAAA;QAClB,kBAAkB,oBAAA;QAClB,eAAe,iBAAA;KAChB,CAAC;AACJ,CAAC;AAjCD,kCAiCC"}
@@ -1,7 +1,12 @@
1
1
  import { useMemo } from 'react';
2
- export function useShowItem({ current, total, pageItem = 5 }) {
2
+ const MAX_PAGE_ITEM = 5;
3
+ export function useShowItem({ current, total }) {
3
4
  const displayItem = useMemo(() => {
4
- if (current === 1 || current === 2) {
5
+ if (total < MAX_PAGE_ITEM) {
6
+ // 総ページ数がMAX_PAGE_ITEMよりも小さい場合
7
+ return Array.from({ length: total }, (_element, index) => index + 1);
8
+ }
9
+ else if (current === 1 || current === 2) {
5
10
  // 現在値が1か2の場合は"1,2,3,4,total"とする
6
11
  return [1, 2, 3, 4, total];
7
12
  }
@@ -15,8 +20,15 @@ export function useShowItem({ current, total, pageItem = 5 }) {
15
20
  }
16
21
  }, [current, total]);
17
22
  // totalは表示数超えている前提で、前から2つ目のアイテムが2より大きいかどうか(最初が連続した数字じゃないことをチェック)
18
- const showPrevHorizontal = total > pageItem && 2 < displayItem[1];
23
+ const showPrevHorizontal = total > MAX_PAGE_ITEM && 2 < displayItem[1];
19
24
  // totalは表示数超えている前提で、後ろから2つ目のアイテムがtotal-1より小さいか(最後が連続した数字じゃないことをチェック)
20
- const showNextHorizontal = total > pageItem && displayItem[pageItem - 2] < total - 1;
21
- return { displayItem, showPrevHorizontal, showNextHorizontal };
25
+ const showNextHorizontal = total > MAX_PAGE_ITEM && displayItem[MAX_PAGE_ITEM - 2] < total - 1;
26
+ // 総ページ数が5件より大きい場合
27
+ const hideDisplayItem = total > MAX_PAGE_ITEM;
28
+ return {
29
+ displayItem,
30
+ showPrevHorizontal,
31
+ showNextHorizontal,
32
+ hideDisplayItem,
33
+ };
22
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openameba/spindle-ui",
3
- "version": "0.50.1-alpha.2",
3
+ "version": "0.51.0",
4
4
  "main": "./index.js",
5
5
  "module": "./index.mjs",
6
6
  "types": "./index.d.ts",
@@ -51,7 +51,7 @@
51
51
  }
52
52
  },
53
53
  "dependencies": {
54
- "@openameba/spindle-hooks": "^0.10.3-alpha.2",
54
+ "@openameba/spindle-hooks": "^0.11.0",
55
55
  "ameba-color-palette.css": "^4.8.0",
56
56
  "react-merge-refs": "^1.1.0"
57
57
  },
@@ -95,5 +95,5 @@
95
95
  "ts-jest": "28.0.8",
96
96
  "webpack": "^5.73.0"
97
97
  },
98
- "gitHead": "b0dfdbf69cfdf7f79e50a5dbc260d16a95e9d7a2"
98
+ "gitHead": "74f01b42b5d3cdc01bd5a7eddce6305019050d62"
99
99
  }