@starasia/tabs 1.0.3 → 1.0.5

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/dist/tabs.es.js CHANGED
@@ -1,5 +1,5 @@
1
- import { jsx as l, jsxs as C } from "react/jsx-runtime";
2
- import { createContext as B, useState as u, useEffect as c, useContext as f, useRef as m } from "react";
1
+ import { jsx as b, jsxs as C } from "react/jsx-runtime";
2
+ import { createContext as B, useState as u, useEffect as c, useContext as m, useRef as f } from "react";
3
3
  const T = `@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");
4
4
 
5
5
  :root {
@@ -10,21 +10,22 @@ const T = `@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@30
10
10
  /* gray */
11
11
  --starasia-ui-tabs-color-tertiary-gray: var(
12
12
  --starasia-ui-color-gray-300,
13
- #d1d5db
13
+ rgba(209, 213, 219, 1)
14
14
  );
15
15
  --starasia-ui-tabs-color-text-active: var(
16
16
  --starasia-ui-color-gray-900,
17
- #181a19
17
+ rgba(24, 26, 25, 1)
18
18
  );
19
- --starasia-ui-tabs-color-text: var(--starasia-ui-color-gray-200, #78867f);
20
- --starasia-ui-tabs-color-white: var(--starasia-ui-color-gray-50, #fffeff);
19
+ --starasia-ui-tabs-color-text: var(--starasia-ui-color-gray-200, rgba(120, 134, 127, 1));
20
+ --starasia-ui-tabs-color-white: var(--starasia-ui-color-gray-50, rgba(255, 254, 255, 1));
21
+ --starasia-ui-tabs-color-secondary-tablist-bg: rgba(120, 134, 127, 0.1);
21
22
  /* blue */
22
23
  --starasia-ui-tabs-color-primary-blue: var(
23
24
  --starasia-ui-brand-primary-default,
24
- #1976d2
25
+ rgba(74, 106, 148, 1)
25
26
  );
26
- --starasia-ui-tabs-color-primary-black: var(--starasia-ui-color-gray-900, #202221);
27
- --starasia-ui-tabs-color-secondary-blue: var(--starasia-ui-brand-primary-tertiary);
27
+ --starasia-ui-tabs-color-primary-black: var(--starasia-ui-color-gray-900, rgba(32, 34, 33, 1));
28
+ --starasia-ui-tabs-color-secondary-blue: var(--starasia-ui-brand-primary-tertiary, rgba(227, 237, 248, 1));
28
29
 
29
30
  /* height */
30
31
  --starasia-ui-tabs-height-line: 2px;
@@ -61,7 +62,7 @@ const T = `@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@30
61
62
  }
62
63
 
63
64
  .starasia-tabs-tablist-secondary {
64
- background-color: rgba(120, 134, 127, 0.1);
65
+ background-color: var(--starasia-ui-tabs-color-secondary-tablist-bg);
65
66
  padding: 4px;
66
67
  box-sizing: border-box;
67
68
  border-radius: 12px;
@@ -176,42 +177,42 @@ const v = B(null), S = ({
176
177
  variant: t = "underline",
177
178
  ...e
178
179
  }) => {
179
- const [i, r] = u(0), [d, b] = u(
180
+ const [i, r] = u(0), [d, l] = u(
180
181
  null
181
- ), [o, p] = u([]), [g, y] = u([]), x = (z) => {
182
- b(z);
182
+ ), [o, g] = u([]), [p, y] = u([]), x = (z) => {
183
+ l(z);
183
184
  };
184
185
  return c(() => {
185
- b(o[s || 0]);
186
+ l(o[s || 0]);
186
187
  }, [o, s]), c(() => {
187
188
  r(s || 0);
188
- }, [s]), /* @__PURE__ */ l(
189
+ }, [s]), /* @__PURE__ */ b(
189
190
  v.Provider,
190
191
  {
191
192
  value: {
192
193
  activeContext: d,
193
194
  handleSetActiveContext: x,
194
195
  tabsButton: o,
195
- setTabsButton: p,
196
+ setTabsButton: g,
196
197
  activeTabButton: i,
197
198
  setActiveTabButton: r,
198
- panels: g,
199
+ panels: p,
199
200
  setPanels: y,
200
201
  size: a,
201
202
  variant: t
202
203
  },
203
- children: /* @__PURE__ */ l("div", { ...e, children: n })
204
+ children: /* @__PURE__ */ b("div", { ...e, children: n })
204
205
  }
205
206
  );
206
207
  }, $ = ({ children: n, ...s }) => {
207
208
  var d;
208
- const a = f(v), t = m(null), [e, i] = u(0);
209
+ const a = m(v), t = f(null), [e, i] = u(0);
209
210
  let r = ((d = a == null ? void 0 : a.activeContext) == null ? void 0 : d.getBoundingClientRect().width) || 0;
210
211
  return c(() => {
211
- var b, o;
212
+ var l, o;
212
213
  if (t.current) {
213
- const p = ((b = a == null ? void 0 : a.activeContext) == null ? void 0 : b.getBoundingClientRect().left) || 0, g = ((o = t == null ? void 0 : t.current) == null ? void 0 : o.getBoundingClientRect().left) || 0;
214
- i(p - g);
214
+ const g = ((l = a == null ? void 0 : a.activeContext) == null ? void 0 : l.getBoundingClientRect().left) || 0, p = ((o = t == null ? void 0 : t.current) == null ? void 0 : o.getBoundingClientRect().left) || 0;
215
+ i(g - p);
215
216
  }
216
217
  }, [t, a == null ? void 0 : a.activeContext]), /* @__PURE__ */ C(
217
218
  "div",
@@ -221,7 +222,7 @@ const v = B(null), S = ({
221
222
  ref: t,
222
223
  children: [
223
224
  n,
224
- /* @__PURE__ */ l(
225
+ /* @__PURE__ */ b(
225
226
  "div",
226
227
  {
227
228
  className: `starasia-tabs-tablist-line-move starasia-tabs-tablist-line-move-${a == null ? void 0 : a.variant}`,
@@ -232,7 +233,7 @@ const v = B(null), S = ({
232
233
  }
233
234
  );
234
235
  }, A = ({ children: n, ...s }) => {
235
- const a = f(v), t = m(null);
236
+ const a = m(v), t = f(null);
236
237
  c(() => {
237
238
  t.current && (a == null || a.setTabsButton((i) => [
238
239
  ...i,
@@ -244,7 +245,7 @@ const v = B(null), S = ({
244
245
  for (let r = 0; r < a.tabsButton.length; r++)
245
246
  a.tabsButton[r] === i.currentTarget && a.setActiveTabButton(r);
246
247
  };
247
- return /* @__PURE__ */ l(
248
+ return /* @__PURE__ */ b(
248
249
  "button",
249
250
  {
250
251
  className: `starasia-tabs-tab starasia-tabs-tab-${a == null ? void 0 : a.size} starasia-tabs-tab-${a == null ? void 0 : a.variant} ${(a == null ? void 0 : a.tabsButton[a.activeTabButton]) === t.current ? `starasia-tabs-tab-${a == null ? void 0 : a.variant}-active` : ""}`,
@@ -259,14 +260,14 @@ const v = B(null), S = ({
259
260
  children: n
260
261
  }
261
262
  );
262
- }, R = ({ children: n, ...s }) => /* @__PURE__ */ l("div", { ...s, children: n }), E = ({ children: n, ...s }) => {
263
- const a = f(v), t = m(null);
263
+ }, R = ({ children: n, ...s }) => /* @__PURE__ */ b("div", { ...s, children: n }), E = ({ children: n, ...s }) => {
264
+ const a = m(v), t = f(null);
264
265
  return c(() => {
265
266
  t.current && (a == null || a.setPanels((e) => [
266
267
  ...e,
267
268
  t.current
268
269
  ]));
269
- }, [t]), /* @__PURE__ */ l(
270
+ }, [t]), /* @__PURE__ */ b(
270
271
  "div",
271
272
  {
272
273
  ref: t,
package/dist/tabs.umd.js CHANGED
@@ -8,21 +8,22 @@
8
8
  /* gray */
9
9
  --starasia-ui-tabs-color-tertiary-gray: var(
10
10
  --starasia-ui-color-gray-300,
11
- #d1d5db
11
+ rgba(209, 213, 219, 1)
12
12
  );
13
13
  --starasia-ui-tabs-color-text-active: var(
14
14
  --starasia-ui-color-gray-900,
15
- #181a19
15
+ rgba(24, 26, 25, 1)
16
16
  );
17
- --starasia-ui-tabs-color-text: var(--starasia-ui-color-gray-200, #78867f);
18
- --starasia-ui-tabs-color-white: var(--starasia-ui-color-gray-50, #fffeff);
17
+ --starasia-ui-tabs-color-text: var(--starasia-ui-color-gray-200, rgba(120, 134, 127, 1));
18
+ --starasia-ui-tabs-color-white: var(--starasia-ui-color-gray-50, rgba(255, 254, 255, 1));
19
+ --starasia-ui-tabs-color-secondary-tablist-bg: rgba(120, 134, 127, 0.1);
19
20
  /* blue */
20
21
  --starasia-ui-tabs-color-primary-blue: var(
21
22
  --starasia-ui-brand-primary-default,
22
- #1976d2
23
+ rgba(74, 106, 148, 1)
23
24
  );
24
- --starasia-ui-tabs-color-primary-black: var(--starasia-ui-color-gray-900, #202221);
25
- --starasia-ui-tabs-color-secondary-blue: var(--starasia-ui-brand-primary-tertiary);
25
+ --starasia-ui-tabs-color-primary-black: var(--starasia-ui-color-gray-900, rgba(32, 34, 33, 1));
26
+ --starasia-ui-tabs-color-secondary-blue: var(--starasia-ui-brand-primary-tertiary, rgba(227, 237, 248, 1));
26
27
 
27
28
  /* height */
28
29
  --starasia-ui-tabs-height-line: 2px;
@@ -59,7 +60,7 @@
59
60
  }
60
61
 
61
62
  .starasia-tabs-tablist-secondary {
62
- background-color: rgba(120, 134, 127, 0.1);
63
+ background-color: var(--starasia-ui-tabs-color-secondary-tablist-bg);
63
64
  padding: 4px;
64
65
  box-sizing: border-box;
65
66
  border-radius: 12px;
@@ -160,4 +161,4 @@
160
161
  height: 42px;
161
162
  font-size: var(--starasia-ui-tabs-font-size-lg);
162
163
  }
163
- `,g="starasia-tab-styles";(e=>{if(!document.getElementById(g)){const t=document.createElement("style");t.id=g,t.textContent=e,document.head.appendChild(t)}})(h);const d=n.createContext(null),m=({children:e,activeTab:t,size:a="md",variant:s="underline",...b})=>{const[o,l]=n.useState(0),[v,c]=n.useState(null),[u,f]=n.useState([]),[p,C]=n.useState([]),B=S=>{c(S)};return n.useEffect(()=>{c(u[t||0])},[u,t]),n.useEffect(()=>{l(t||0)},[t]),r.jsx(d.Provider,{value:{activeContext:v,handleSetActiveContext:B,tabsButton:u,setTabsButton:f,activeTabButton:o,setActiveTabButton:l,panels:p,setPanels:C,size:a,variant:s},children:r.jsx("div",{...b,children:e})})},y=({children:e,...t})=>{var v;const a=n.useContext(d),s=n.useRef(null),[b,o]=n.useState(0);let l=((v=a==null?void 0:a.activeContext)==null?void 0:v.getBoundingClientRect().width)||0;return n.useEffect(()=>{var c,u;if(s.current){const f=((c=a==null?void 0:a.activeContext)==null?void 0:c.getBoundingClientRect().left)||0,p=((u=s==null?void 0:s.current)==null?void 0:u.getBoundingClientRect().left)||0;o(f-p)}},[s,a==null?void 0:a.activeContext]),r.jsxs("div",{className:`starasia-tabs-tablist starasia-tabs-tablist-${a==null?void 0:a.variant}`,...t,ref:s,children:[e,r.jsx("div",{className:`starasia-tabs-tablist-line-move starasia-tabs-tablist-line-move-${a==null?void 0:a.variant}`,style:{width:`${l}px`,left:`${b}px`}})]})},x=({children:e,...t})=>{const a=n.useContext(d),s=n.useRef(null);n.useEffect(()=>{s.current&&(a==null||a.setTabsButton(o=>[...o,s.current]))},[s]);const b=o=>{if(a==null||a.handleSetActiveContext(o.currentTarget),a!=null&&a.tabsButton)for(let l=0;l<a.tabsButton.length;l++)a.tabsButton[l]===o.currentTarget&&a.setActiveTabButton(l)};return r.jsx("button",{className:`starasia-tabs-tab starasia-tabs-tab-${a==null?void 0:a.size} starasia-tabs-tab-${a==null?void 0:a.variant} ${(a==null?void 0:a.tabsButton[a.activeTabButton])===s.current?`starasia-tabs-tab-${a==null?void 0:a.variant}-active`:""}`,onClick:o=>{b(o),t.onClick&&t.onClick()},ref:s,style:{fontWeight:(a==null?void 0:a.tabsButton[a.activeTabButton])===s.current?"var(--starasia-ui-fontWeights-medium, 400)":"var(--starasia-ui-fontWeights-normal, 300)",...t.style},children:e})},T=({children:e,...t})=>r.jsx("div",{...t,children:e}),z=({children:e,...t})=>{const a=n.useContext(d),s=n.useRef(null);return n.useEffect(()=>{s.current&&(a==null||a.setPanels(b=>[...b,s.current]))},[s]),r.jsx("div",{ref:s,style:{display:(a==null?void 0:a.panels[a.activeTabButton])===s.current?"block":"none",...t.style},children:(a==null?void 0:a.panels[a.activeTabButton])===s.current?e:null})};i.Tab=x,i.TabPanel=z,i.TabPanels=T,i.Tabs=m,i.TabsLists=y,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
164
+ `,f="starasia-tab-styles";(e=>{if(!document.getElementById(f)){const t=document.createElement("style");t.id=f,t.textContent=e,document.head.appendChild(t)}})(h);const d=n.createContext(null),m=({children:e,activeTab:t,size:a="md",variant:s="underline",...l})=>{const[o,b]=n.useState(0),[v,c]=n.useState(null),[u,g]=n.useState([]),[p,C]=n.useState([]),B=S=>{c(S)};return n.useEffect(()=>{c(u[t||0])},[u,t]),n.useEffect(()=>{b(t||0)},[t]),r.jsx(d.Provider,{value:{activeContext:v,handleSetActiveContext:B,tabsButton:u,setTabsButton:g,activeTabButton:o,setActiveTabButton:b,panels:p,setPanels:C,size:a,variant:s},children:r.jsx("div",{...l,children:e})})},y=({children:e,...t})=>{var v;const a=n.useContext(d),s=n.useRef(null),[l,o]=n.useState(0);let b=((v=a==null?void 0:a.activeContext)==null?void 0:v.getBoundingClientRect().width)||0;return n.useEffect(()=>{var c,u;if(s.current){const g=((c=a==null?void 0:a.activeContext)==null?void 0:c.getBoundingClientRect().left)||0,p=((u=s==null?void 0:s.current)==null?void 0:u.getBoundingClientRect().left)||0;o(g-p)}},[s,a==null?void 0:a.activeContext]),r.jsxs("div",{className:`starasia-tabs-tablist starasia-tabs-tablist-${a==null?void 0:a.variant}`,...t,ref:s,children:[e,r.jsx("div",{className:`starasia-tabs-tablist-line-move starasia-tabs-tablist-line-move-${a==null?void 0:a.variant}`,style:{width:`${b}px`,left:`${l}px`}})]})},x=({children:e,...t})=>{const a=n.useContext(d),s=n.useRef(null);n.useEffect(()=>{s.current&&(a==null||a.setTabsButton(o=>[...o,s.current]))},[s]);const l=o=>{if(a==null||a.handleSetActiveContext(o.currentTarget),a!=null&&a.tabsButton)for(let b=0;b<a.tabsButton.length;b++)a.tabsButton[b]===o.currentTarget&&a.setActiveTabButton(b)};return r.jsx("button",{className:`starasia-tabs-tab starasia-tabs-tab-${a==null?void 0:a.size} starasia-tabs-tab-${a==null?void 0:a.variant} ${(a==null?void 0:a.tabsButton[a.activeTabButton])===s.current?`starasia-tabs-tab-${a==null?void 0:a.variant}-active`:""}`,onClick:o=>{l(o),t.onClick&&t.onClick()},ref:s,style:{fontWeight:(a==null?void 0:a.tabsButton[a.activeTabButton])===s.current?"var(--starasia-ui-fontWeights-medium, 400)":"var(--starasia-ui-fontWeights-normal, 300)",...t.style},children:e})},T=({children:e,...t})=>r.jsx("div",{...t,children:e}),z=({children:e,...t})=>{const a=n.useContext(d),s=n.useRef(null);return n.useEffect(()=>{s.current&&(a==null||a.setPanels(l=>[...l,s.current]))},[s]),r.jsx("div",{ref:s,style:{display:(a==null?void 0:a.panels[a.activeTabButton])===s.current?"block":"none",...t.style},children:(a==null?void 0:a.panels[a.activeTabButton])===s.current?e:null})};i.Tab=x,i.TabPanel=z,i.TabPanels=T,i.Tabs=m,i.TabsLists=y,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starasia/tabs",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "Tabs component for starasia UI",
5
5
  "author": "Prawito Hudoro",
6
6
  "main": "dist/tabs.umd.js",