@telia/teddy 0.0.24 → 0.0.25

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 (185) hide show
  1. package/dist/components/accordion/accordion-content.cjs +32 -0
  2. package/dist/components/accordion/accordion-header.cjs +33 -0
  3. package/dist/components/accordion/accordion-indicator.cjs +16 -0
  4. package/dist/components/accordion/accordion-item.cjs +32 -0
  5. package/dist/components/accordion/accordion-root.cjs +56 -0
  6. package/dist/components/accordion/accordion-root.js +11 -11
  7. package/dist/components/accordion/accordion-title.cjs +15 -0
  8. package/dist/components/accordion/accordion-trigger.cjs +37 -0
  9. package/dist/components/accordion/index.cjs +25 -0
  10. package/dist/components/accordion/index.js +7 -0
  11. package/dist/components/badge/badge.cjs +43 -0
  12. package/dist/components/badge/index.cjs +4 -0
  13. package/dist/components/box/box.cjs +17 -0
  14. package/dist/components/box/index.cjs +4 -0
  15. package/dist/components/button/button.cjs +130 -0
  16. package/dist/components/button/button.js +24 -24
  17. package/dist/components/button/index.cjs +4 -0
  18. package/dist/components/card/card.cjs +219 -0
  19. package/dist/components/card/index.cjs +4 -0
  20. package/dist/components/chip/chip-indicator.cjs +16 -0
  21. package/dist/components/chip/chip-item.cjs +45 -0
  22. package/dist/components/chip/chip.cjs +48 -0
  23. package/dist/components/chip/index.cjs +10 -0
  24. package/dist/components/drawer/drawer-close.cjs +39 -0
  25. package/dist/components/drawer/drawer-content.cjs +42 -0
  26. package/dist/components/drawer/drawer-description.cjs +36 -0
  27. package/dist/components/drawer/drawer-footer.cjs +16 -0
  28. package/dist/components/drawer/drawer-overlay.cjs +43 -0
  29. package/dist/components/drawer/drawer-root.cjs +28 -0
  30. package/dist/components/drawer/drawer-title.cjs +34 -0
  31. package/dist/components/drawer/drawer-trigger.cjs +27 -0
  32. package/dist/components/drawer/index.cjs +20 -0
  33. package/dist/components/field-error-text/field-error-text.cjs +30 -0
  34. package/dist/components/field-error-text/index.cjs +4 -0
  35. package/dist/components/flex/flex.cjs +19 -0
  36. package/dist/components/flex/index.cjs +4 -0
  37. package/dist/components/grid/grid.cjs +19 -0
  38. package/dist/components/grid/index.cjs +4 -0
  39. package/dist/components/heading/heading.cjs +55 -0
  40. package/dist/components/heading/index.cjs +4 -0
  41. package/dist/components/helper-text/helper-text.cjs +21 -0
  42. package/dist/components/helper-text/helper-text.d.ts +2 -4
  43. package/dist/components/helper-text/index.cjs +4 -0
  44. package/dist/components/icon/AllIcons.cjs +1091 -0
  45. package/dist/components/icon/AllIcons.d.ts +2 -0
  46. package/dist/components/icon/AllIcons.js +1092 -0
  47. package/dist/components/icon/icon.cjs +29 -0
  48. package/dist/components/icon/index.cjs +8 -0
  49. package/dist/components/icon/index.d.ts +1 -0
  50. package/dist/components/icon/index.js +2 -0
  51. package/dist/components/image/image.cjs +17 -0
  52. package/dist/components/image/index.cjs +4 -0
  53. package/dist/components/index.cjs +66 -0
  54. package/dist/components/index.js +6 -3
  55. package/dist/components/input/index.cjs +14 -0
  56. package/dist/components/input/index.d.ts +27 -2
  57. package/dist/components/input/index.js +10 -1
  58. package/dist/components/input/input-clear-button.cjs +43 -0
  59. package/dist/components/input/input-clear-button.d.ts +6 -0
  60. package/dist/components/input/input-clear-button.js +43 -0
  61. package/dist/components/input/input-group.cjs +132 -0
  62. package/dist/components/input/input-group.d.ts +16 -0
  63. package/dist/components/input/input-group.js +132 -0
  64. package/dist/components/input/input-indicator.cjs +10 -0
  65. package/dist/components/input/input-indicator.d.ts +23 -0
  66. package/dist/components/input/input-indicator.js +10 -0
  67. package/dist/components/input/input.cjs +9 -0
  68. package/dist/components/input/input.d.ts +4 -28
  69. package/dist/components/input/input.js +7 -114
  70. package/dist/components/label/index.cjs +4 -0
  71. package/dist/components/label/label.cjs +44 -0
  72. package/dist/components/link/index.cjs +4 -0
  73. package/dist/components/link/link.cjs +37 -0
  74. package/dist/components/link/link.js +10 -10
  75. package/dist/components/modal/index.cjs +4 -0
  76. package/dist/components/modal/modal.cjs +209 -0
  77. package/dist/components/modal/modal.js +2 -2
  78. package/dist/components/navigation-menu/index.cjs +4 -0
  79. package/dist/components/navigation-menu/navigation-menu.cjs +410 -0
  80. package/dist/components/notification/index.cjs +4 -0
  81. package/dist/components/notification/notification.cjs +116 -0
  82. package/dist/components/notification/notification.js +8 -8
  83. package/dist/components/radio-group/index.cjs +4 -0
  84. package/dist/components/radio-group/radio-group.cjs +110 -0
  85. package/dist/components/scroll-area/index.cjs +9 -0
  86. package/dist/components/scroll-area/scroll-area-bar.cjs +175 -0
  87. package/dist/components/scroll-area/scroll-area-bar.js +8 -8
  88. package/dist/components/scroll-area/scroll-area-button.cjs +11 -0
  89. package/dist/components/scroll-area/scroll-area-corner.cjs +8 -0
  90. package/dist/components/scroll-area/scroll-area-item.cjs +42 -0
  91. package/dist/components/scroll-area/scroll-area-item.js +2 -1
  92. package/dist/components/scroll-area/scroll-area-root.cjs +11 -0
  93. package/dist/components/scroll-area/scroll-area-thumb.cjs +8 -0
  94. package/dist/components/spinner/index.cjs +4 -0
  95. package/dist/components/spinner/spinner.cjs +57 -0
  96. package/dist/components/tabs/index.cjs +16 -0
  97. package/dist/components/tabs/tabs-content.cjs +32 -0
  98. package/dist/components/tabs/tabs-list.cjs +39 -0
  99. package/dist/components/tabs/tabs-list.js +6 -4
  100. package/dist/components/tabs/tabs-root.cjs +75 -0
  101. package/dist/components/tabs/tabs-root.d.ts +4 -7
  102. package/dist/components/tabs/tabs-root.js +25 -8
  103. package/dist/components/tabs/tabs-scroll-button.cjs +15 -0
  104. package/dist/components/tabs/tabs-scroll.cjs +22 -0
  105. package/dist/components/tabs/tabs-trigger.cjs +55 -0
  106. package/dist/components/tabs/tabs-trigger.js +19 -9
  107. package/dist/components/text/index.cjs +4 -0
  108. package/dist/components/text/text.cjs +49 -0
  109. package/dist/components/text-field/index.cjs +31 -0
  110. package/dist/components/text-field/index.d.ts +63 -2
  111. package/dist/components/text-field/index.js +28 -1
  112. package/dist/components/text-field/text-field-button.cjs +31 -0
  113. package/dist/components/text-field/text-field-button.d.ts +27 -0
  114. package/dist/components/text-field/text-field-button.js +31 -0
  115. package/dist/components/text-field/text-field-clear-button.cjs +12 -0
  116. package/dist/components/text-field/text-field-clear-button.d.ts +6 -0
  117. package/dist/components/text-field/text-field-clear-button.js +12 -0
  118. package/dist/components/text-field/text-field-error-list.cjs +28 -0
  119. package/dist/components/text-field/text-field-error-list.d.ts +9 -0
  120. package/dist/components/text-field/text-field-error-list.js +28 -0
  121. package/dist/components/text-field/text-field-helper-text.cjs +19 -0
  122. package/dist/components/text-field/text-field-helper-text.d.ts +5 -0
  123. package/dist/components/text-field/text-field-helper-text.js +19 -0
  124. package/dist/components/text-field/text-field-indicator.cjs +14 -0
  125. package/dist/components/text-field/text-field-indicator.d.ts +6 -0
  126. package/dist/components/text-field/text-field-indicator.js +14 -0
  127. package/dist/components/text-field/text-field-input-group.cjs +11 -0
  128. package/dist/components/text-field/text-field-input-group.d.ts +7 -0
  129. package/dist/components/text-field/text-field-input-group.js +11 -0
  130. package/dist/components/text-field/text-field-input.cjs +27 -0
  131. package/dist/components/text-field/text-field-input.d.ts +5 -0
  132. package/dist/components/text-field/text-field-input.js +27 -0
  133. package/dist/components/text-field/text-field-label.cjs +27 -0
  134. package/dist/components/text-field/text-field-label.d.ts +8 -0
  135. package/dist/components/text-field/text-field-label.js +27 -0
  136. package/dist/components/text-field/text-field.cjs +54 -0
  137. package/dist/components/text-field/text-field.d.ts +12 -58
  138. package/dist/components/text-field/text-field.js +17 -101
  139. package/dist/components/text-field/util.cjs +4 -0
  140. package/dist/components/text-field/util.d.ts +1 -0
  141. package/dist/components/text-field/util.js +4 -0
  142. package/dist/components/text-spacing/index.cjs +4 -0
  143. package/dist/components/text-spacing/text-spacing.cjs +19 -0
  144. package/dist/components/toggle/index.cjs +4 -0
  145. package/dist/components/toggle/toggle.cjs +104 -0
  146. package/dist/components/visually-hidden/index.cjs +4 -0
  147. package/dist/components/visually-hidden/visually-hidden.cjs +26 -0
  148. package/dist/drawer.module-w9nGK9pO.cjs +13 -0
  149. package/dist/icons/category.cjs +335 -0
  150. package/dist/icons/name.cjs +335 -0
  151. package/dist/icons/name.d.cjs +1 -0
  152. package/dist/main.cjs +374 -0
  153. package/dist/main.js +6 -3
  154. package/dist/style.css +385 -323
  155. package/dist/tokens/border/variables.cjs +20 -0
  156. package/dist/tokens/breakpoint/variables.cjs +10 -0
  157. package/dist/tokens/color/variables.cjs +454 -0
  158. package/dist/tokens/index.cjs +310 -0
  159. package/dist/tokens/motion/variables.cjs +24 -0
  160. package/dist/tokens/shadow/variables.cjs +10 -0
  161. package/dist/tokens/spacing/variables.cjs +48 -0
  162. package/dist/tokens/typography/variables.cjs +50 -0
  163. package/dist/utils/action.cjs +21 -0
  164. package/dist/utils/component-props-as.cjs +1 -0
  165. package/dist/utils/composeEventHandlers.cjs +11 -0
  166. package/dist/utils/composeRefs.cjs +18 -0
  167. package/dist/utils/generate-styling/align.cjs +32 -0
  168. package/dist/utils/generate-styling/color.cjs +12 -0
  169. package/dist/utils/generate-styling/flex.cjs +67 -0
  170. package/dist/utils/generate-styling/gap.cjs +22 -0
  171. package/dist/utils/generate-styling/grid.cjs +123 -0
  172. package/dist/utils/generate-styling/height.cjs +51 -0
  173. package/dist/utils/generate-styling/index.cjs +97 -0
  174. package/dist/utils/generate-styling/inset.cjs +33 -0
  175. package/dist/utils/generate-styling/justify.cjs +18 -0
  176. package/dist/utils/generate-styling/margin.cjs +33 -0
  177. package/dist/utils/generate-styling/object-fit.cjs +18 -0
  178. package/dist/utils/generate-styling/padding.cjs +33 -0
  179. package/dist/utils/generate-styling/position.cjs +21 -0
  180. package/dist/utils/generate-styling/util.cjs +33 -0
  181. package/dist/utils/generate-styling/width.cjs +26 -0
  182. package/dist/vite-env.d.cjs +1 -0
  183. package/package.json +6 -4
  184. package/dist/components/text-field/tex-field-label.d.ts +0 -0
  185. package/dist/components/text-field/tex-field-label.js +0 -1
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const ScrollAreaPrimitive = require("@radix-ui/react-scroll-area");
7
+ const components_button_button = require("../button/button.cjs");
8
+ const utils_composeEventHandlers = require("../../utils/composeEventHandlers.cjs");
9
+ require("../../assets/sprite.5636ec8e-teddy.svg");
10
+ const components_icon_icon = require("../icon/icon.cjs");
11
+ const reactSlot = require("@radix-ui/react-slot");
12
+ function _interopNamespaceDefault(e) {
13
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
14
+ if (e) {
15
+ for (const k in e) {
16
+ if (k !== "default") {
17
+ const d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: () => e[k]
21
+ });
22
+ }
23
+ }
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+ const ScrollAreaPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ScrollAreaPrimitive);
29
+ const styles = {
30
+ "teddy-scroll-area": "_teddy-scroll-area_1o8ft_3",
31
+ "teddy-scroll-area__viewport": "_teddy-scroll-area__viewport_1o8ft_7",
32
+ "teddy-scroll-area__scrollbar": "_teddy-scroll-area__scrollbar_1o8ft_12",
33
+ "teddy-scroll-area__scrollbar--hidden": "_teddy-scroll-area__scrollbar--hidden_1o8ft_33",
34
+ "teddy-scroll-area__thumb": "_teddy-scroll-area__thumb_1o8ft_46",
35
+ "teddy-scroll-area__corner": "_teddy-scroll-area__corner_1o8ft_63",
36
+ "teddy-scroll-area__button": "_teddy-scroll-area__button_1o8ft_66",
37
+ "teddy-scroll-area__button--hidden": "_teddy-scroll-area__button--hidden_1o8ft_94"
38
+ };
39
+ const Scrollbar = React.forwardRef(
40
+ ({ className, ...props }, forwardRef) => {
41
+ const context = React.useContext(RootContext);
42
+ const classes = clsx(
43
+ [styles[`${rootClassName}__scrollbar`]],
44
+ {
45
+ [styles[`${rootClassName}__scrollbar--hidden`]]: (context == null ? void 0 : context.variant) !== "scrollbar"
46
+ },
47
+ className
48
+ );
49
+ return /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Scrollbar, { ...props, ref: forwardRef, className: classes });
50
+ }
51
+ );
52
+ Scrollbar.displayName = "Scrollbar";
53
+ const Thumb = React.forwardRef(
54
+ ({ className, ...props }, forwardRef) => {
55
+ const classes = clsx([styles[`${rootClassName}__thumb`]], className);
56
+ return /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Thumb, { ...props, ref: forwardRef, className: classes });
57
+ }
58
+ );
59
+ Thumb.displayName = "Thumb";
60
+ const Corner = React.forwardRef(
61
+ ({ className, ...props }, forwardRef) => {
62
+ const classes = clsx([styles[`${rootClassName}__corner`]], className);
63
+ return /* @__PURE__ */ jsxRuntime.jsx(ScrollAreaPrimitive__namespace.Corner, { ...props, ref: forwardRef, className: classes });
64
+ }
65
+ );
66
+ Corner.displayName = "Corner";
67
+ const Button = React.forwardRef(
68
+ ({ className, hidden, direction, children, ...props }, forwardRef) => {
69
+ const context = React.useContext(RootContext);
70
+ const internalHidden = hidden ?? (direction === "up" && !(context == null ? void 0 : context.hasScrollTop) || direction === "down" && !(context == null ? void 0 : context.hasScrollBottom) || direction === "left" && !(context == null ? void 0 : context.hasScrollLeft) || direction === "right" && !(context == null ? void 0 : context.hasScrollRight));
71
+ const classes = clsx(
72
+ [styles[`${rootClassName}__button`]],
73
+ {
74
+ [styles[`${rootClassName}__button--hidden`]]: internalHidden
75
+ },
76
+ className
77
+ );
78
+ return /* @__PURE__ */ jsxRuntime.jsx(
79
+ components_button_button.Button,
80
+ {
81
+ iconOnly: true,
82
+ variant: "primary",
83
+ "aria-label": direction === "down" ? "Scroll ned" : direction === "up" ? "Scroll opp" : direction === "left" ? "Scroll venstre" : "Scroll høyre",
84
+ "data-direction": direction,
85
+ tabIndex: internalHidden ? -1 : void 0,
86
+ ...props,
87
+ onClick: utils_composeEventHandlers.composeEventHandlers(props.onClick, (e) => {
88
+ var _a, _b;
89
+ if (e.defaultPrevented)
90
+ return;
91
+ const scroll = (_a = context == null ? void 0 : context.scrollRef) == null ? void 0 : _a.getBoundingClientRect();
92
+ const scrollDirection = direction === "up" || direction === "left" ? -1 : 1;
93
+ const scrollAxis = direction === "up" || direction === "down" ? "top" : "left";
94
+ const scrollAmount = ((direction === "up" || direction === "down" ? scroll == null ? void 0 : scroll.height : scroll == null ? void 0 : scroll.width) || 0) * 0.7;
95
+ (_b = context == null ? void 0 : context.scrollRef) == null ? void 0 : _b.scrollBy({
96
+ [scrollAxis]: scrollAmount * scrollDirection,
97
+ behavior: "smooth"
98
+ });
99
+ }),
100
+ ref: forwardRef,
101
+ className: classes,
102
+ children: children || /* @__PURE__ */ jsxRuntime.jsx(
103
+ components_icon_icon.Icon,
104
+ {
105
+ name: direction === "down" ? "chevron-down" : direction === "up" ? "chevron-up" : direction === "left" ? "chevron-left" : "chevron-right"
106
+ }
107
+ )
108
+ }
109
+ );
110
+ }
111
+ );
112
+ components_button_button.Button.displayName = "Button";
113
+ const rootClassName = "teddy-scroll-area";
114
+ const RootContext = React.createContext(void 0);
115
+ const Root = React.forwardRef(
116
+ ({ className, variant, children, ...props }, forwardRef) => {
117
+ const [scrollRef, setScrollRef] = React.useState(null);
118
+ const [hasScroll, setHasScroll] = React.useState(null);
119
+ const initialHasScrollLeft = scrollRef ? scrollRef.scrollLeft > 0 : null;
120
+ const initialHasScrollRight = scrollRef ? scrollRef.scrollLeft < scrollRef.scrollWidth - scrollRef.clientWidth : null;
121
+ const initialHasScrollTop = scrollRef ? scrollRef.scrollTop > 0 : null;
122
+ const initialHasScrollBottom = scrollRef ? scrollRef.scrollTop < scrollRef.scrollHeight - scrollRef.clientHeight : null;
123
+ const hasScrollLeft = hasScroll ? hasScroll.left : initialHasScrollLeft;
124
+ const hasScrollRight = hasScroll ? hasScroll.right : initialHasScrollRight;
125
+ const hasScrollTop = hasScroll ? hasScroll.top : initialHasScrollTop;
126
+ const hasScrollBottom = hasScroll ? hasScroll.bottom : initialHasScrollBottom;
127
+ const hasScrollHorizontal = hasScrollLeft || hasScrollRight;
128
+ const hasScrollVertical = hasScrollTop || hasScrollBottom;
129
+ const classes = clsx([styles[`${rootClassName}`]], className);
130
+ function handleScroll(e) {
131
+ const target = e.currentTarget;
132
+ setHasScroll({
133
+ left: target.scrollLeft > 0,
134
+ right: target.scrollLeft < target.scrollWidth - target.clientWidth,
135
+ top: target.scrollTop > 0,
136
+ bottom: target.scrollTop < target.scrollHeight - target.clientHeight
137
+ });
138
+ }
139
+ return /* @__PURE__ */ jsxRuntime.jsx(
140
+ RootContext.Provider,
141
+ {
142
+ value: { scrollRef, variant, hasScrollTop, hasScrollBottom, hasScrollLeft, hasScrollRight },
143
+ children: /* @__PURE__ */ jsxRuntime.jsxs(ScrollAreaPrimitive__namespace.Root, { ...props, ref: forwardRef, className: classes, children: [
144
+ /* @__PURE__ */ jsxRuntime.jsx(
145
+ ScrollAreaPrimitive__namespace.Viewport,
146
+ {
147
+ onScroll: handleScroll,
148
+ ref: setScrollRef,
149
+ className: clsx([styles[`${rootClassName}__viewport`]]),
150
+ children: /* @__PURE__ */ jsxRuntime.jsx(reactSlot.Slottable, { children })
151
+ }
152
+ ),
153
+ /* @__PURE__ */ jsxRuntime.jsx(Scrollbar, { orientation: "vertical", children: /* @__PURE__ */ jsxRuntime.jsx(Thumb, {}) }),
154
+ /* @__PURE__ */ jsxRuntime.jsx(Scrollbar, { orientation: "horizontal", children: /* @__PURE__ */ jsxRuntime.jsx(Thumb, {}) }),
155
+ /* @__PURE__ */ jsxRuntime.jsx(Corner, {}),
156
+ variant === "button" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
157
+ hasScrollVertical && /* @__PURE__ */ jsxRuntime.jsx(Button, { direction: "up", hidden: !hasScrollTop }),
158
+ hasScrollVertical && /* @__PURE__ */ jsxRuntime.jsx(Button, { direction: "down", hidden: !hasScrollBottom }),
159
+ hasScrollHorizontal && /* @__PURE__ */ jsxRuntime.jsx(Button, { direction: "left", hidden: !hasScrollLeft }),
160
+ hasScrollHorizontal && /* @__PURE__ */ jsxRuntime.jsx(Button, { direction: "right", hidden: !hasScrollRight })
161
+ ] })
162
+ ] })
163
+ }
164
+ );
165
+ }
166
+ );
167
+ Root.displayName = "Root";
168
+ exports.Button = Button;
169
+ exports.Corner = Corner;
170
+ exports.Root = Root;
171
+ exports.RootContext = RootContext;
172
+ exports.Scrollbar = Scrollbar;
173
+ exports.Thumb = Thumb;
174
+ exports.rootClassName = rootClassName;
175
+ exports.styles = styles;
@@ -8,14 +8,14 @@ import "../../assets/sprite.5636ec8e-teddy.svg";
8
8
  import { Icon } from "../icon/icon.js";
9
9
  import { Slottable } from "@radix-ui/react-slot";
10
10
  const styles = {
11
- "teddy-scroll-area": "_teddy-scroll-area_1swny_3",
12
- "teddy-scroll-area__viewport": "_teddy-scroll-area__viewport_1swny_7",
13
- "teddy-scroll-area__scrollbar": "_teddy-scroll-area__scrollbar_1swny_12",
14
- "teddy-scroll-area__scrollbar--hidden": "_teddy-scroll-area__scrollbar--hidden_1swny_33",
15
- "teddy-scroll-area__thumb": "_teddy-scroll-area__thumb_1swny_46",
16
- "teddy-scroll-area__corner": "_teddy-scroll-area__corner_1swny_63",
17
- "teddy-scroll-area__button": "_teddy-scroll-area__button_1swny_66",
18
- "teddy-scroll-area__button--hidden": "_teddy-scroll-area__button--hidden_1swny_90"
11
+ "teddy-scroll-area": "_teddy-scroll-area_1o8ft_3",
12
+ "teddy-scroll-area__viewport": "_teddy-scroll-area__viewport_1o8ft_7",
13
+ "teddy-scroll-area__scrollbar": "_teddy-scroll-area__scrollbar_1o8ft_12",
14
+ "teddy-scroll-area__scrollbar--hidden": "_teddy-scroll-area__scrollbar--hidden_1o8ft_33",
15
+ "teddy-scroll-area__thumb": "_teddy-scroll-area__thumb_1o8ft_46",
16
+ "teddy-scroll-area__corner": "_teddy-scroll-area__corner_1o8ft_63",
17
+ "teddy-scroll-area__button": "_teddy-scroll-area__button_1o8ft_66",
18
+ "teddy-scroll-area__button--hidden": "_teddy-scroll-area__button--hidden_1o8ft_94"
19
19
  };
20
20
  const Scrollbar = React__default.forwardRef(
21
21
  ({ className, ...props }, forwardRef) => {
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("react/jsx-runtime");
4
+ require("react");
5
+ require("clsx");
6
+ const components_scrollArea_scrollAreaBar = require("./scroll-area-bar.cjs");
7
+ require("../button/button.cjs");
8
+ require("../../utils/composeEventHandlers.cjs");
9
+ require("../../assets/sprite.5636ec8e-teddy.svg");
10
+ require("../icon/icon.cjs");
11
+ exports.Button = components_scrollArea_scrollAreaBar.Button;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("react/jsx-runtime");
4
+ require("react");
5
+ require("clsx");
6
+ require("@radix-ui/react-scroll-area");
7
+ const components_scrollArea_scrollAreaBar = require("./scroll-area-bar.cjs");
8
+ exports.Corner = components_scrollArea_scrollAreaBar.Corner;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const components_scrollArea_scrollAreaBar = require("./scroll-area-bar.cjs");
7
+ const reactSlot = require("@radix-ui/react-slot");
8
+ const utils_composeEventHandlers = require("../../utils/composeEventHandlers.cjs");
9
+ const Item = React.forwardRef(
10
+ ({ className, asChild, ...props }, forwardRef) => {
11
+ const classes = clsx([components_scrollArea_scrollAreaBar.styles[`${components_scrollArea_scrollAreaBar.rootClassName}__item`]], className);
12
+ const Comp = asChild ? reactSlot.Slot : "div";
13
+ const context = React.useContext(components_scrollArea_scrollAreaBar.RootContext);
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ Comp,
16
+ {
17
+ ...props,
18
+ onClick: utils_composeEventHandlers.composeEventHandlers(props.onClick, (e) => {
19
+ var _a, _b;
20
+ if (e.defaultPrevented)
21
+ return;
22
+ const scroll = (_a = context == null ? void 0 : context.scrollRef) == null ? void 0 : _a.getBoundingClientRect();
23
+ const item = e.currentTarget.getBoundingClientRect();
24
+ const scrollViewVerticalCenter = ((scroll == null ? void 0 : scroll.top) || 0) + ((scroll == null ? void 0 : scroll.height) || 0) / 2;
25
+ const itemVerticalCenter = ((item == null ? void 0 : item.top) || 0) + ((item == null ? void 0 : item.height) || 0) / 2;
26
+ const scrollViewHorizontalCenter = ((scroll == null ? void 0 : scroll.left) || 0) + ((scroll == null ? void 0 : scroll.width) || 0) / 2;
27
+ const itemHorizontalCenter = ((item == null ? void 0 : item.left) || 0) + ((item == null ? void 0 : item.width) || 0) / 2;
28
+ const hasReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
29
+ (_b = context == null ? void 0 : context.scrollRef) == null ? void 0 : _b.scrollBy({
30
+ top: itemVerticalCenter - scrollViewVerticalCenter,
31
+ left: itemHorizontalCenter - scrollViewHorizontalCenter,
32
+ behavior: hasReducedMotion ? "auto" : "smooth"
33
+ });
34
+ }),
35
+ ref: forwardRef,
36
+ className: classes
37
+ }
38
+ );
39
+ }
40
+ );
41
+ Item.displayName = "Item";
42
+ exports.Item = Item;
@@ -23,10 +23,11 @@ const Item = React__default.forwardRef(
23
23
  const itemVerticalCenter = ((item == null ? void 0 : item.top) || 0) + ((item == null ? void 0 : item.height) || 0) / 2;
24
24
  const scrollViewHorizontalCenter = ((scroll == null ? void 0 : scroll.left) || 0) + ((scroll == null ? void 0 : scroll.width) || 0) / 2;
25
25
  const itemHorizontalCenter = ((item == null ? void 0 : item.left) || 0) + ((item == null ? void 0 : item.width) || 0) / 2;
26
+ const hasReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
26
27
  (_b = context == null ? void 0 : context.scrollRef) == null ? void 0 : _b.scrollBy({
27
28
  top: itemVerticalCenter - scrollViewVerticalCenter,
28
29
  left: itemHorizontalCenter - scrollViewHorizontalCenter,
29
- behavior: "smooth"
30
+ behavior: hasReducedMotion ? "auto" : "smooth"
30
31
  });
31
32
  }),
32
33
  ref: forwardRef,
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("react/jsx-runtime");
4
+ require("react");
5
+ require("clsx");
6
+ require("@radix-ui/react-scroll-area");
7
+ const components_scrollArea_scrollAreaBar = require("./scroll-area-bar.cjs");
8
+ require("@radix-ui/react-slot");
9
+ exports.Root = components_scrollArea_scrollAreaBar.Root;
10
+ exports.RootContext = components_scrollArea_scrollAreaBar.RootContext;
11
+ exports.rootClassName = components_scrollArea_scrollAreaBar.rootClassName;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("react/jsx-runtime");
4
+ require("react");
5
+ require("clsx");
6
+ require("@radix-ui/react-scroll-area");
7
+ const components_scrollArea_scrollAreaBar = require("./scroll-area-bar.cjs");
8
+ exports.Thumb = components_scrollArea_scrollAreaBar.Thumb;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const components_spinner_spinner = require("./spinner.cjs");
4
+ exports.Spinner = components_spinner_spinner.Spinner;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const clsx = require("clsx");
5
+ const React = require("react");
6
+ const dash = "_dash_ywden_1";
7
+ const rotate = "_rotate_ywden_1";
8
+ const styles = {
9
+ "teddy-spinner--xxs": "_teddy-spinner--xxs_ywden_1",
10
+ "teddy-spinner--xs": "_teddy-spinner--xs_ywden_5",
11
+ "teddy-spinner--sm": "_teddy-spinner--sm_ywden_9",
12
+ "teddy-spinner--md": "_teddy-spinner--md_ywden_13",
13
+ "teddy-spinner--lg": "_teddy-spinner--lg_ywden_18",
14
+ "teddy-spinner__circle": "_teddy-spinner__circle_ywden_23",
15
+ dash,
16
+ rotate,
17
+ "teddy-spinner__circle--disabled": "_teddy-spinner__circle--disabled_ywden_33",
18
+ "teddy-spinner__circle--negative": "_teddy-spinner__circle--negative_ywden_36",
19
+ "teddy-spinner__circle--negative-disabled": "_teddy-spinner__circle--negative-disabled_ywden_39"
20
+ };
21
+ const rootClassName = "teddy-spinner";
22
+ const SPINNER_VARIANT = {
23
+ PRIMARY: "primary",
24
+ DISABLED: "disabled",
25
+ NEGATIVE: "negative",
26
+ NEGATIVE_DISABLED: "negative-disabled"
27
+ };
28
+ const SPINNER_SIZE = {
29
+ XXS: "xxs",
30
+ XS: "xs",
31
+ SM: "sm",
32
+ MD: "md",
33
+ LG: "lg"
34
+ };
35
+ const Spinner = React.forwardRef(
36
+ ({ size = SPINNER_SIZE.SM, variant = SPINNER_VARIANT.PRIMARY, className, ...props }, forwardRef) => {
37
+ return /* @__PURE__ */ jsxRuntime.jsx(
38
+ "svg",
39
+ {
40
+ ...props,
41
+ viewBox: "0 0 50 50",
42
+ className: clsx([styles[rootClassName], styles[`${rootClassName}--${size}`], className]),
43
+ ref: forwardRef,
44
+ children: /* @__PURE__ */ jsxRuntime.jsx(
45
+ "circle",
46
+ {
47
+ className: clsx(styles[`${rootClassName}__circle`], styles[`${rootClassName}__circle--${variant}`]),
48
+ cx: "25",
49
+ cy: "25",
50
+ r: "20"
51
+ }
52
+ )
53
+ }
54
+ );
55
+ }
56
+ );
57
+ exports.Spinner = Spinner;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const components_tabs_tabsRoot = require("./tabs-root.cjs");
4
+ const components_tabs_tabsList = require("./tabs-list.cjs");
5
+ const components_tabs_tabsTrigger = require("./tabs-trigger.cjs");
6
+ const components_tabs_tabsContent = require("./tabs-content.cjs");
7
+ const components_tabs_tabsScroll = require("./tabs-scroll.cjs");
8
+ const components_tabs_tabsScrollButton = require("./tabs-scroll-button.cjs");
9
+ const Tabs = Object.assign(components_tabs_tabsRoot.Root, {
10
+ List: components_tabs_tabsList.List,
11
+ Trigger: components_tabs_tabsTrigger.Trigger,
12
+ Content: components_tabs_tabsContent.Content,
13
+ Scroll: components_tabs_tabsScroll.Scroll,
14
+ ScrollButton: components_tabs_tabsScrollButton.ScrollButton
15
+ });
16
+ exports.Tabs = Tabs;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const TabsPrimitive = require("@radix-ui/react-tabs");
6
+ const clsx = require("clsx");
7
+ const components_tabs_tabsRoot = require("./tabs-root.cjs");
8
+ function _interopNamespaceDefault(e) {
9
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
10
+ if (e) {
11
+ for (const k in e) {
12
+ if (k !== "default") {
13
+ const d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: () => e[k]
17
+ });
18
+ }
19
+ }
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+ const TabsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TabsPrimitive);
25
+ const Content = React.forwardRef(
26
+ ({ className, ...props }, forwardRef) => {
27
+ const classes = clsx([components_tabs_tabsRoot.styles[`${components_tabs_tabsRoot.rootClassName}__content`]], className);
28
+ return /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Content, { ...props, ref: forwardRef, className: classes });
29
+ }
30
+ );
31
+ Content.displayName = "Content";
32
+ exports.Content = Content;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const TabsPrimitive = require("@radix-ui/react-tabs");
6
+ const clsx = require("clsx");
7
+ const components_tabs_tabsRoot = require("./tabs-root.cjs");
8
+ const components_tabs_tabsScroll = require("./tabs-scroll.cjs");
9
+ const utils_composeRefs = require("../../utils/composeRefs.cjs");
10
+ function _interopNamespaceDefault(e) {
11
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
12
+ if (e) {
13
+ for (const k in e) {
14
+ if (k !== "default") {
15
+ const d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: () => e[k]
19
+ });
20
+ }
21
+ }
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+ const TabsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TabsPrimitive);
27
+ const List = React.forwardRef(
28
+ ({ className, children, ...props }, forwardRef) => {
29
+ const classes = clsx([components_tabs_tabsRoot.styles[`${components_tabs_tabsRoot.rootClassName}__list`]], className);
30
+ const scrollContext = React.useContext(components_tabs_tabsScroll.ScrollContext);
31
+ const rootContext = React.useContext(components_tabs_tabsRoot.RootContext);
32
+ if (!scrollContext) {
33
+ return /* @__PURE__ */ jsxRuntime.jsx(components_tabs_tabsScroll.Scroll, { children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.List, { ...props, ref: utils_composeRefs.composeRefs(forwardRef, rootContext == null ? void 0 : rootContext.listElement), className: classes, children }) });
34
+ }
35
+ return /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.List, { ...props, ref: utils_composeRefs.composeRefs(forwardRef, rootContext == null ? void 0 : rootContext.listElement), className: classes, children });
36
+ }
37
+ );
38
+ List.displayName = "List";
39
+ exports.List = List;
@@ -2,16 +2,18 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import * as TabsPrimitive from "@radix-ui/react-tabs";
4
4
  import clsx from "clsx";
5
- import { s as styles, rootClassName } from "./tabs-root.js";
5
+ import { s as styles, rootClassName, RootContext } from "./tabs-root.js";
6
6
  import { ScrollContext, Scroll } from "./tabs-scroll.js";
7
+ import { composeRefs } from "../../utils/composeRefs.js";
7
8
  const List = React__default.forwardRef(
8
- ({ className, ...props }, forwardRef) => {
9
+ ({ className, children, ...props }, forwardRef) => {
9
10
  const classes = clsx([styles[`${rootClassName}__list`]], className);
10
11
  const scrollContext = React__default.useContext(ScrollContext);
12
+ const rootContext = React__default.useContext(RootContext);
11
13
  if (!scrollContext) {
12
- return /* @__PURE__ */ jsx(Scroll, { children: /* @__PURE__ */ jsx(TabsPrimitive.List, { ...props, ref: forwardRef, className: classes }) });
14
+ return /* @__PURE__ */ jsx(Scroll, { children: /* @__PURE__ */ jsx(TabsPrimitive.List, { ...props, ref: composeRefs(forwardRef, rootContext == null ? void 0 : rootContext.listElement), className: classes, children }) });
13
15
  }
14
- return /* @__PURE__ */ jsx(TabsPrimitive.List, { ...props, ref: forwardRef, className: classes });
16
+ return /* @__PURE__ */ jsx(TabsPrimitive.List, { ...props, ref: composeRefs(forwardRef, rootContext == null ? void 0 : rootContext.listElement), className: classes, children });
15
17
  }
16
18
  );
17
19
  List.displayName = "List";
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const TabsPrimitive = require("@radix-ui/react-tabs");
7
+ const reactUseControllableState = require("@radix-ui/react-use-controllable-state");
8
+ const utils_composeEventHandlers = require("../../utils/composeEventHandlers.cjs");
9
+ function _interopNamespaceDefault(e) {
10
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
11
+ if (e) {
12
+ for (const k in e) {
13
+ if (k !== "default") {
14
+ const d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: () => e[k]
18
+ });
19
+ }
20
+ }
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+ const TabsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TabsPrimitive);
26
+ const styles = {
27
+ "teddy-tabs__list": "_teddy-tabs__list_1finq_3",
28
+ "teddy-tabs--full-width": "_teddy-tabs--full-width_1finq_30",
29
+ "teddy-tabs__trigger": "_teddy-tabs__trigger_1finq_33",
30
+ "teddy-tabs__scroll-button": "_teddy-tabs__scroll-button_1finq_48"
31
+ };
32
+ const rootClassName = "teddy-tabs";
33
+ const RootContext = React.createContext(void 0);
34
+ const Root = React.forwardRef(
35
+ ({ className, onValueChange, fullWidth, snapCenter = true, ...props }, forwardRef) => {
36
+ const [activeElement, setActiveElement] = React.useState(null);
37
+ const listElement = React.useRef(null);
38
+ const [value, setValue] = reactUseControllableState.useControllableState({
39
+ prop: props.value,
40
+ onChange: onValueChange,
41
+ defaultProp: props.defaultValue
42
+ });
43
+ const classes = clsx(
44
+ [styles[`${rootClassName}`]],
45
+ { [styles[`${rootClassName}--full-width`]]: fullWidth },
46
+ className
47
+ );
48
+ return /* @__PURE__ */ jsxRuntime.jsx(
49
+ RootContext.Provider,
50
+ {
51
+ value: {
52
+ activeElement,
53
+ setActiveElement,
54
+ snapCenter,
55
+ value,
56
+ listElement
57
+ },
58
+ children: /* @__PURE__ */ jsxRuntime.jsx(
59
+ TabsPrimitive__namespace.Root,
60
+ {
61
+ ...props,
62
+ onValueChange: utils_composeEventHandlers.composeEventHandlers(setValue, onValueChange),
63
+ ref: forwardRef,
64
+ className: classes
65
+ }
66
+ )
67
+ }
68
+ );
69
+ }
70
+ );
71
+ Root.displayName = "Root";
72
+ exports.Root = Root;
73
+ exports.RootContext = RootContext;
74
+ exports.rootClassName = rootClassName;
75
+ exports.styles = styles;
@@ -17,15 +17,12 @@ export type RootProps = Omit<React.ComponentPropsWithoutRef<typeof TabsPrimitive
17
17
  */
18
18
  snapCenter?: boolean;
19
19
  };
20
- type ActiveElement = {
21
- left: number;
22
- width: number;
23
- bottom: number;
24
- };
25
20
  type RootContextType = {
26
- activeElement: ActiveElement | null;
27
- setActiveElement: React.Dispatch<React.SetStateAction<ActiveElement | null>>;
21
+ activeElement: HTMLButtonElement | null;
22
+ setActiveElement: React.Dispatch<React.SetStateAction<HTMLButtonElement | null>>;
23
+ listElement: React.RefObject<HTMLDivElement>;
28
24
  snapCenter: boolean;
25
+ value: string | undefined;
29
26
  };
30
27
  export declare const RootContext: React.Context<RootContextType | undefined>;
31
28
  export declare const Root: React.ForwardRefExoticComponent<Omit<Omit<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>, "ref">, "defaultValue" | "value" | "onValueChange" | "activationMode"> & {
@@ -2,18 +2,25 @@ import { jsx } from "react/jsx-runtime";
2
2
  import React__default from "react";
3
3
  import clsx from "clsx";
4
4
  import * as TabsPrimitive from "@radix-ui/react-tabs";
5
+ import { useControllableState } from "@radix-ui/react-use-controllable-state";
6
+ import { composeEventHandlers } from "../../utils/composeEventHandlers.js";
5
7
  const styles = {
6
- "teddy-tabs__list": "_teddy-tabs__list_1sgsx_3",
7
- "teddy-tabs--full-width": "_teddy-tabs--full-width_1sgsx_10",
8
- "teddy-tabs__trigger": "_teddy-tabs__trigger_1sgsx_13",
9
- "teddy-tabs__indicator": "_teddy-tabs__indicator_1sgsx_28",
10
- "teddy-tabs__scroll-button": "_teddy-tabs__scroll-button_1sgsx_34"
8
+ "teddy-tabs__list": "_teddy-tabs__list_1finq_3",
9
+ "teddy-tabs--full-width": "_teddy-tabs--full-width_1finq_30",
10
+ "teddy-tabs__trigger": "_teddy-tabs__trigger_1finq_33",
11
+ "teddy-tabs__scroll-button": "_teddy-tabs__scroll-button_1finq_48"
11
12
  };
12
13
  const rootClassName = "teddy-tabs";
13
14
  const RootContext = React__default.createContext(void 0);
14
15
  const Root = React__default.forwardRef(
15
- ({ className, fullWidth, snapCenter = true, ...props }, forwardRef) => {
16
+ ({ className, onValueChange, fullWidth, snapCenter = true, ...props }, forwardRef) => {
16
17
  const [activeElement, setActiveElement] = React__default.useState(null);
18
+ const listElement = React__default.useRef(null);
19
+ const [value, setValue] = useControllableState({
20
+ prop: props.value,
21
+ onChange: onValueChange,
22
+ defaultProp: props.defaultValue
23
+ });
17
24
  const classes = clsx(
18
25
  [styles[`${rootClassName}`]],
19
26
  { [styles[`${rootClassName}--full-width`]]: fullWidth },
@@ -25,9 +32,19 @@ const Root = React__default.forwardRef(
25
32
  value: {
26
33
  activeElement,
27
34
  setActiveElement,
28
- snapCenter
35
+ snapCenter,
36
+ value,
37
+ listElement
29
38
  },
30
- children: /* @__PURE__ */ jsx(TabsPrimitive.Root, { ...props, ref: forwardRef, className: classes })
39
+ children: /* @__PURE__ */ jsx(
40
+ TabsPrimitive.Root,
41
+ {
42
+ ...props,
43
+ onValueChange: composeEventHandlers(setValue, onValueChange),
44
+ ref: forwardRef,
45
+ className: classes
46
+ }
47
+ )
31
48
  }
32
49
  );
33
50
  }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const React = require("react");
5
+ const clsx = require("clsx");
6
+ const components_tabs_tabsRoot = require("./tabs-root.cjs");
7
+ const components_scrollArea_index = require("../scroll-area/index.cjs");
8
+ const ScrollButton = React.forwardRef(
9
+ ({ className, ...props }, forwardRef) => {
10
+ const classes = clsx([components_tabs_tabsRoot.styles[`${components_tabs_tabsRoot.rootClassName}__scroll-button`]], className);
11
+ return /* @__PURE__ */ jsxRuntime.jsx(components_scrollArea_index.ScrollArea.Button, { variant: "text", ...props, className: classes, ref: forwardRef });
12
+ }
13
+ );
14
+ ScrollButton.displayName = "ScrollButton";
15
+ exports.ScrollButton = ScrollButton;