@tolokoban/ui 0.23.2 → 0.23.4

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.
@@ -1,5 +1,5 @@
1
1
  export declare const name = "@tolokoban/ui";
2
- export declare const version = "0.23.2";
2
+ export declare const version = "0.23.4";
3
3
  export declare const description = "React components with theme";
4
4
  export declare const homepage = "https://tolokoban.github.io/ui";
5
5
  //# sourceMappingURL=info.d.ts.map
package/lib/dist/info.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export const name = "@tolokoban/ui";
2
- export const version = "0.23.2";
2
+ export const version = "0.23.4";
3
3
  export const description = "React components with theme";
4
4
  export const homepage = "https://tolokoban.github.io/ui";
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxlQUFlLENBQUE7QUFDbkMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQTtBQUMvQixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsNkJBQTZCLENBQUE7QUFDeEQsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLGdDQUFnQyxDQUFBIn0=
@@ -12,6 +12,12 @@ export type ViewTabsProps = ColorStyleProps & DimensionStyleProps & {
12
12
  * * `vertical`: the tabs' headers are on the left.
13
13
  */
14
14
  orientation?: "horizontal" | "vertical";
15
+ /**
16
+ * If true, the tabs are displayed on the right or on the bottom,
17
+ * depending on the `orientation`.
18
+ * Defaults to `false`.
19
+ */
20
+ opposite?: boolean;
15
21
  /**
16
22
  * Callback to call when a new tab is active.
17
23
  * @param value Key of the newly activated tab.
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/view/Tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAW,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG9C,OAAO,EACH,mBAAmB,EAEtB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAInC,MAAM,MAAM,aAAa,GAAG,eAAe,GACvC,mBAAmB,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC;;;OAGG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EACF,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAChC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAA;CAC3C,CAAA;AAEL,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA2D5C"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/view/Tabs/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAW,YAAY,EAAE,MAAM,QAAQ,CAAA;AAG9C,OAAO,EACH,mBAAmB,EAEtB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAInC,MAAM,MAAM,aAAa,GAAG,eAAe,GACvC,mBAAmB,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C;;;OAGG;IACH,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EACF,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,GAChC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAA;CAC3C,CAAA;AAEL,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA6D5C"}
@@ -8,12 +8,13 @@ import { styleDimension, } from "../../theme/styles/dimension.js";
8
8
  const $ = Theme.classNames;
9
9
  export function ViewTabs(props) {
10
10
  var _a, _b, _c;
11
- const { className, children: rawChildren, orientation = "horizontal", value, onChange, color = "neutral-3", colorAccent = "primary-5", outline = "0", highlight, } = props;
11
+ const { className, children: rawChildren, orientation = "horizontal", value, onChange, color = "neutral-3", colorAccent = "primary-5", outline = "0", highlight, opposite, } = props;
12
12
  const children = filterChildren(rawChildren);
13
13
  const tabs = addMissingKeys(children);
14
14
  const [tabKey, setTabKey] = React.useState((_b = value !== null && value !== void 0 ? value : (_a = tabs[0]) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : "Tab#0");
15
15
  const tab = tabs.find((item) => item.key === tabKey);
16
- return (_jsxs("div", { style: Object.assign(Object.assign({}, styleDimension(props)), { "--custom-color-back": `var(--theme-color-${color})`, "--custom-color-text": `var(--theme-color-on-${color})`, "--custom-color-highlight-back": `var(--theme-color-${colorAccent})`, "--custom-color-highlight-text": `var(--theme-color-on-${colorAccent})`, "--custom-outline": outline, "--custom-highlight": (_c = highlight !== null && highlight !== void 0 ? highlight : outline) !== null && _c !== void 0 ? _c : "4px" }), className: $.join(className, Styles.Tabs, orientation === "vertical" && Styles.vertical, classnameCommon(props)), children: [_jsx("header", { children: tabs.map((item) => {
16
+ console.log("🚀 [Tabs] opposite =", opposite); // @FIXME: Remove this line written on 2025-08-28 at 11:31
17
+ return (_jsxs("div", { style: Object.assign(Object.assign({}, styleDimension(props)), { "--custom-color-back": `var(--theme-color-${color})`, "--custom-color-text": `var(--theme-color-on-${color})`, "--custom-color-highlight-back": `var(--theme-color-${colorAccent})`, "--custom-color-highlight-text": `var(--theme-color-on-${colorAccent})`, "--custom-outline": outline, "--custom-highlight": (_c = highlight !== null && highlight !== void 0 ? highlight : outline) !== null && _c !== void 0 ? _c : "4px" }), className: $.join(className, Styles.Tabs, orientation === "vertical" && Styles.vertical, classnameCommon(props)), children: [_jsx("header", { className: opposite && Styles.opposite, children: tabs.map((item) => {
17
18
  const { key } = item;
18
19
  return key === tabKey ? (_jsx("div", { children: item.props.label }, key)) : (_jsx("button", { type: "button", onClick: () => {
19
20
  setTabKey(key);
@@ -49,4 +50,4 @@ function filterChildren(children) {
49
50
  return children.filter((child) => Boolean(child.props.children));
50
51
  return children.props.children ? [children] : [];
51
52
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92aWV3L1RhYnMvVGFicy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUU5QixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sUUFBUSxDQUFBO0FBRTlDLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFFSCxjQUFjLEdBQ2pCLE1BQU0sOEJBQThCLENBQUE7QUFJckMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtBQXFDMUIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFvQjs7SUFDekMsTUFBTSxFQUNGLFNBQVMsRUFDVCxRQUFRLEVBQUUsV0FBVyxFQUNyQixXQUFXLEdBQUcsWUFBWSxFQUMxQixLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssR0FBRyxXQUFXLEVBQ25CLFdBQVcsR0FBRyxXQUFXLEVBQ3pCLE9BQU8sR0FBRyxHQUFHLEVBQ2IsU0FBUyxHQUNaLEdBQUcsS0FBSyxDQUFBO0lBQ1QsTUFBTSxRQUFRLEdBQ1YsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQy9CLE1BQU0sSUFBSSxHQUNOLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUM1QixNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBQSxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxNQUFBLElBQUksQ0FBQyxDQUFDLENBQUMsMENBQUUsR0FBRyxtQ0FBSSxPQUFPLENBQUMsQ0FBQTtJQUM1RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxL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
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFicy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92aWV3L1RhYnMvVGFicy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQUU5QixPQUFPLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQWdCLE1BQU0sUUFBUSxDQUFBO0FBRTlDLE9BQU8sTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RDLE9BQU8sRUFFSCxjQUFjLEdBQ2pCLE1BQU0sOEJBQThCLENBQUE7QUFJckMsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtBQTJDMUIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFvQjs7SUFDekMsTUFBTSxFQUNGLFNBQVMsRUFDVCxRQUFRLEVBQUUsV0FBVyxFQUNyQixXQUFXLEdBQUcsWUFBWSxFQUMxQixLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssR0FBRyxXQUFXLEVBQ25CLFdBQVcsR0FBRyxXQUFXLEVBQ3pCLE9BQU8sR0FBRyxHQUFHLEVBQ2IsU0FBUyxFQUNULFFBQVEsR0FDWCxHQUFHLEtBQUssQ0FBQTtJQUNULE1BQU0sUUFBUSxHQUNWLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUMvQixNQUFNLElBQUksR0FDTixjQUFjLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDNUIsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQUEsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksTUFBQSxJQUFJLENBQUMsQ0FBQyxDQUFDLDBDQUFFLEdBQUcsbUNBQUksT0FBTyxDQUFDLENBQUE7SUFDNUUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxD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
@@ -33,7 +33,6 @@
33
33
  }
34
34
 
35
35
  & > div {
36
- border: none;
37
36
  border: var(--custom-outline) solid
38
37
  var(--custom-color-highlight-back);
39
38
  border-left: var(--custom-highlight) solid
@@ -49,6 +48,24 @@
49
48
  & > button {
50
49
  padding-left: var(--custom-highlight);
51
50
  }
51
+
52
+ &.opposite {
53
+ > div {
54
+ border: var(--custom-outline) solid
55
+ var(--custom-color-highlight-back);
56
+ border-left: none;
57
+ border-right: var(--custom-highlight) solid
58
+ var(--custom-color-highlight-back);
59
+ border-radius: 0 var(--custom-border-radius)
60
+ var(--custom-border-radius) 0;
61
+ transform: translateX(calc(0px - var(--custom-outline)));
62
+ }
63
+
64
+ > button {
65
+ padding-left: 0;
66
+ padding-right: var(--custom-highlight);
67
+ }
68
+ }
52
69
  }
53
70
  }
54
71
 
@@ -72,6 +89,24 @@
72
89
  padding: 0;
73
90
  z-index: 1;
74
91
 
92
+ &.opposite {
93
+ order: 2;
94
+
95
+ > div {
96
+ border-bottom: var(--custom-highlight) solid
97
+ var(--custom-color-highlight-back);
98
+ border-top: none;
99
+ border-radius: 0 0 var(--custom-border-radius)
100
+ var(--custom-border-radius);
101
+ transform: translateY(calc(0px - var(--custom-outline)));
102
+ }
103
+
104
+ > button {
105
+ padding-top: 0;
106
+ padding-bottom: var(--custom-highlight);
107
+ }
108
+ }
109
+
75
110
  > div {
76
111
  background: var(--custom-color-back);
77
112
  color: var(--custom-color-text);
@@ -89,6 +124,7 @@
89
124
 
90
125
  > button {
91
126
  font: inherit;
127
+ color: inherit;
92
128
  cursor: pointer;
93
129
  transition: all 0.2s;
94
130
  opacity: 0.6;
@@ -1,4 +1,4 @@
1
- // This file has been generated on Thu, 28 Aug 2025 09:16:50 GMT
1
+ // This file has been generated on Thu, 28 Aug 2025 12:24:24 GMT
2
2
  export * from "./Button/index.js";
3
3
  export * from "./Chip/index.js";
4
4
  export * from "./CodeHighlighter/index.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tolokoban/ui",
3
- "version": "0.23.2",
3
+ "version": "0.23.4",
4
4
  "description": "React components with theme",
5
5
  "homepage": "https://tolokoban.github.io/ui",
6
6
  "main": "./lib/dist/index.js",