@adamjanicki/ui 1.9.2 → 1.9.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.
Files changed (88) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/components/Avatar/Avatar.js +1 -1
  3. package/components/Button/Button.d.ts +4 -2
  4. package/components/Button/Button.js +1 -1
  5. package/components/Button/IconButton.js +1 -1
  6. package/components/Carousel/Carousel.d.ts +12 -24
  7. package/components/Carousel/Carousel.js +1 -1
  8. package/components/Floating/Floating.d.ts +8 -0
  9. package/components/Floating/Floating.js +1 -1
  10. package/components/Hamburger/Hamburger.d.ts +21 -42
  11. package/components/Hamburger/Hamburger.js +1 -1
  12. package/components/Hamburger/index.d.ts +1 -8
  13. package/components/Hamburger/index.js +1 -1
  14. package/components/Popover/Popover.js +1 -1
  15. package/components/Select/Select.d.ts +8 -9
  16. package/components/Select/Select.js +1 -1
  17. package/components/Signal/Signal.d.ts +14 -0
  18. package/components/Signal/Signal.js +1 -0
  19. package/components/Signal/index.d.ts +1 -0
  20. package/components/Signal/index.js +1 -0
  21. package/components/Table/Table.d.ts +5 -6
  22. package/components/Table/Table.js +1 -1
  23. package/components/Tooltip/Tooltip.js +1 -1
  24. package/components/index.d.ts +1 -4
  25. package/components/index.js +1 -1
  26. package/components/ui/transformVfx.js +1 -1
  27. package/components/ui/ui.d.ts +2 -5
  28. package/functions/index.d.ts +0 -2
  29. package/functions/index.js +1 -1
  30. package/hooks/useMediaQuery.d.ts +1 -4
  31. package/hooks/useMediaQuery.js +1 -1
  32. package/hooks/useScroll.js +1 -1
  33. package/hooks/useScrollToHash.js +1 -1
  34. package/navigation/Link.js +1 -1
  35. package/navigation/Route.d.ts +2 -6
  36. package/navigation/Router.d.ts +3 -11
  37. package/navigation/Router.js +1 -1
  38. package/navigation/Routes.js +1 -1
  39. package/navigation/history.d.ts +1 -1
  40. package/navigation/history.js +1 -1
  41. package/navigation/href.d.ts +1 -1
  42. package/navigation/href.js +1 -1
  43. package/navigation/path.js +1 -1
  44. package/navigation/slash.d.ts +1 -0
  45. package/navigation/slash.js +1 -1
  46. package/navigation/useLocation.js +1 -1
  47. package/navigation/useNavigate.js +1 -1
  48. package/navigation/usePathParams.d.ts +0 -1
  49. package/navigation/usePathParams.js +1 -1
  50. package/navigation/useSearchParams.d.ts +0 -1
  51. package/package.json +4 -6
  52. package/style.css +1 -1
  53. package/types/common.d.ts +9 -12
  54. package/types/navigation.d.ts +6 -25
  55. package/components/Alert/Alert.d.ts +0 -10
  56. package/components/Alert/Alert.js +0 -1
  57. package/components/Alert/index.d.ts +0 -1
  58. package/components/Alert/index.js +0 -1
  59. package/components/Badge/Badge.d.ts +0 -10
  60. package/components/Badge/Badge.js +0 -1
  61. package/components/Badge/index.d.ts +0 -1
  62. package/components/Badge/index.js +0 -1
  63. package/components/Banner/Banner.d.ts +0 -10
  64. package/components/Banner/Banner.js +0 -1
  65. package/components/Banner/index.d.ts +0 -1
  66. package/components/Banner/index.js +0 -1
  67. package/components/Hamburger/DoubleCross.d.ts +0 -4
  68. package/components/Hamburger/DoubleCross.js +0 -1
  69. package/components/Hamburger/DoubleFlip.d.ts +0 -4
  70. package/components/Hamburger/DoubleFlip.js +0 -1
  71. package/components/Hamburger/DoubleSpin.d.ts +0 -4
  72. package/components/Hamburger/DoubleSpin.js +0 -1
  73. package/components/Hamburger/TripleFade.d.ts +0 -4
  74. package/components/Hamburger/TripleFade.js +0 -1
  75. package/components/Hamburger/TripleFlip.d.ts +0 -4
  76. package/components/Hamburger/TripleFlip.js +0 -1
  77. package/components/Hamburger/TriplePrestige.d.ts +0 -4
  78. package/components/Hamburger/TriplePrestige.js +0 -1
  79. package/components/Hamburger/TripleSpin.d.ts +0 -4
  80. package/components/Hamburger/TripleSpin.js +0 -1
  81. package/components/Modal/Modal.d.ts +0 -36
  82. package/components/Modal/Modal.js +0 -1
  83. package/components/Modal/index.d.ts +0 -1
  84. package/components/Modal/index.js +0 -1
  85. package/functions/assertDefined.d.ts +0 -8
  86. package/functions/assertDefined.js +0 -1
  87. package/functions/scrollToId.d.ts +0 -7
  88. package/functions/scrollToId.js +0 -1
@@ -3,10 +3,7 @@ type Config = {
3
3
  onMatch?: () => void;
4
4
  /** Callback for when the media query does not match */
5
5
  onUnmatch?: () => void;
6
- /**
7
- * The media query to watch for.
8
- * @example "(max-width: 820px)"
9
- */
6
+ /** The media query to watch for */
10
7
  query: string;
11
8
  };
12
9
  /**
@@ -1 +1 @@
1
- import{useEffect as h,useState as d}from"react";var m=function(a){var e=a.onMatch,t=a.onUnmatch,r=a.query,u=d(!1),s=u[0],c=u[1];return h(function(){var n=window.matchMedia(r),i=function(o){o.matches?e==null||e():t==null||t(),c(o.matches)};return n.addEventListener("change",i),c(n.matches),function(){return n.removeEventListener("change",i)}},[e,t,r]),s},f=m;export{f as default};
1
+ import{useEffect as m,useState as v}from"react";var d=function(e){var n=e.onMatch,r=e.onUnmatch,c=e.query,u=v(!1),i=u[0],o=u[1];return m(function(){var a=window.matchMedia(c),s=function(h){var t=h.matches?n:r;t==null||t(),o(h.matches)};return a.addEventListener("change",s),o(a.matches),function(){return a.removeEventListener("change",s)}},[n,r,c]),i},l=d;export{l as default};
@@ -1 +1 @@
1
- import{useEffect as c,useState as e}from"react";var t=function(){var l=e({scrollX:window.scrollX,scrollY:window.scrollY}),r=l[0],n=l[1];return c(function(){var o=function(){n({scrollX:window.scrollX,scrollY:window.scrollY})};return window.addEventListener("scroll",o),function(){return window.removeEventListener("scroll",o)}},[]),r},i=t;export{i as default};
1
+ import{useEffect as e,useState as c}from"react";var t=function(){var r=c({scrollX:window.scrollX,scrollY:window.scrollY}),o=r[0],n=r[1];return e(function(){var l=function(){return n({scrollX:window.scrollX,scrollY:window.scrollY})};return window.addEventListener("scroll",l),function(){return window.removeEventListener("scroll",l)}},[]),o},i=t;export{i as default};
@@ -1 +1 @@
1
- import{useEffect as d}from"react";import n from"../functions/scrollToId";var l=function(r){r===void 0&&(r={});var o=r.active,a=o===void 0?!0:o,t=r.behavior,i=r.delay;d(function(){var e=window.location.hash;if(!(!a||(e==null?void 0:e.length)<=1)){var u=e.substring(1);if(i!==void 0){var v=setTimeout(function(){return n(u,t)},i);return function(){return clearTimeout(v)}}n(u,t)}},[a,t,i])},h=l;export{h as default};
1
+ import{useEffect as v}from"react";var d=function(e){e===void 0&&(e={});var i=e.active,a=i===void 0?!0:i,n=e.behavior,t=e.delay;v(function(){var r=window.location.hash;if(!(!a||(r==null?void 0:r.length)<=1)){var l=r.substring(1),u=function(){var o;return(o=document.getElementById(l))===null||o===void 0?void 0:o.scrollIntoView({behavior:n})};if(t!==void 0)return function(){return clearTimeout(setTimeout(u,t))};u()}},[a,n,t])},c=d;export{c as default};
@@ -1 +1 @@
1
- import{jsx as y}from"react/jsx-runtime";import c from"react";import{getButtonProps as d}from"../components/Button/Button";import h from"../components/ui";import x from"../functions/classNames";import{getHref as N}from"./href";import O from"./RouterContext";var o=function(){return o=Object.assign||function(r){for(var n,a=1,t=arguments.length;a<t;a++){n=arguments[a];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e])}return r},o.apply(this,arguments)},v=function(r,n){var a={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&n.indexOf(t)<0&&(a[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)n.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(a[t[e]]=r[t[e]]);return a};function k(r){return r.button===0&&!r.defaultPrevented&&!r.metaKey&&!r.altKey&&!r.ctrlKey&&!r.shiftKey}var g=c.forwardRef(function(r,n){var a=r.to,t=r.className,e=r.newTab,s=r.onClick,l=r.target,f=r.rel,u=v(r,["to","className","newTab","onClick","target","rel"]),i=c.useContext(O),m=i?N(a,i.location.pathname,i.basename):{type:"unknown",url:a};e&&(l="_blank",f="noreferrer noopener");var b=function(p){s==null||s(p),!(!i||e||m.type==="external"||m.type==="octo"||!k(p))&&(p.preventDefault(),i.navigate(a))};return y(h.a,o({},u,{href:m.url,target:l,rel:f,className:x("aui-action",t),onClick:b,ref:n}))}),T=c.forwardRef(function(r,n){var a=r.className,t=r.variant,e=r.vfx,s=r.size,l=v(r,["className","variant","vfx","size"]),f=d({variant:t,size:s}),u=f.vfx,i=f.className;return y(g,o({},l,{className:x(i,a),vfx:o(o({},u),e),ref:n}))}),w=c.forwardRef(function(r,n){var a=r.className,t=r.vfx,e=v(r,["className","vfx"]);return y(g,o({},e,{vfx:o({fontWeight:6},t),className:x("aui-link",a),ref:n}))}),B=w;export{T as ButtonLink,g as UnstyledLink,B as default};
1
+ import{jsx as y}from"react/jsx-runtime";import c from"react";import{getButtonProps as b}from"../components/Button/Button";import h from"../components/ui";import x from"../functions/classNames";import{getHref as N}from"./href";import O from"./RouterContext";var o=function(){return o=Object.assign||function(r){for(var n,a=1,t=arguments.length;a<t;a++){n=arguments[a];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(r[e]=n[e])}return r},o.apply(this,arguments)},v=function(r,n){var a={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&n.indexOf(t)<0&&(a[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)n.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(a[t[e]]=r[t[e]]);return a};function k(r){return r.button===0&&!r.defaultPrevented&&!r.metaKey&&!r.altKey&&!r.ctrlKey&&!r.shiftKey}var g=c.forwardRef(function(r,n){var a=r.to,t=r.className,e=r.newTab,s=r.onClick,l=r.target,f=r.rel,m=v(r,["to","className","newTab","onClick","target","rel"]),i=c.useContext(O),u=i?N(a,i.location.pathname,i.basename):{type:"unknown",url:a};e&&(l="_blank",f="noreferrer noopener");var d=function(p){s==null||s(p),!(!i||e||u.type==="external"||u.type==="octo"||!k(p))&&(p.preventDefault(),i.navigate(a))};return y(h.a,o({},m,{href:u.url,target:l,rel:f,className:x("aui-action",t),onClick:d,ref:n}))}),T=c.forwardRef(function(r,n){var a=r.className,t=r.variant,e=r.vfx,s=r.size,l=v(r,["className","variant","vfx","size"]),f=b({variant:t,size:s}),m=f.vfx,i=f.className;return y(g,o({},l,{className:x(i,a),vfx:o(o({},m),e),ref:n}))}),w=c.forwardRef(function(r,n){var a=r.className,t=r.vfx,e=v(r,["className","vfx"]);return y(g,o({},e,{vfx:o({fontWeight:6,hover:"dim"},t),className:x("aui-link",a),ref:n}))}),B=w;export{T as ButtonLink,g as UnstyledLink,B as default};
@@ -3,14 +3,10 @@ export type Props = {
3
3
  /** Element to render when the path matches */
4
4
  element: React.ReactElement;
5
5
  /**
6
- * Path pattern to match against window.location.pathname.
7
- * Currently, only 2 types are supported.
8
- * 1. Static: `/reviews/movies`.
9
- * 2. Dynamic (params): `/reviews/:media/:title/view`.
10
- * In the future, I might extend use to include wildcard matching if I need it.
6
+ * Path pattern to match against the pathname.
11
7
  * @example "/movie/:id"
12
8
  */
13
9
  path: string;
14
10
  };
15
- /** A simple wrapper to be used by <Routes> */
11
+ /** Wrapper used by <Routes> */
16
12
  export default function Route({}: Props): null;
@@ -1,22 +1,14 @@
1
1
  import React from "react";
2
2
  export type Props = {
3
- /**
4
- * Optional basename prefix for all internal navigation.
5
- * @example "/app"
6
- */
3
+ /** Basename prefix for all internal navigation */
7
4
  basename?: string;
8
5
  /** Children to render inside the router provider */
9
6
  children: React.ReactNode;
10
7
  /**
11
- * Whether to reset the page scroll position to the top on navigation.
12
- * This applies when navigating to a different pathname (query/hash changes do not reset scroll).
13
- * When enabled, this also sets `history.scrollRestoration = "manual"` to avoid browser scroll
14
- * restoration fighting the instant scroll.
8
+ * Whether to reset the page scroll position to the top on pathname change.
15
9
  * @default true
16
10
  */
17
11
  resetScroll?: boolean;
18
12
  };
19
- /**
20
- * Router provider for navigation hooks and components.
21
- */
13
+ /** Router provider for navigation hooks and components */
22
14
  export default function Router({ children, basename, resetScroll, }: Props): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- import{jsx as w}from"react/jsx-runtime";import r from"react";import{createRouterHistory as g,getCurrentLocation as x}from"./history";import{getHref as L,normalizeBasename as S}from"./href";import C from"./RouterContext";function P(i){var p=i.children,n=i.basename,s=i.resetScroll,f=s===void 0?!0:s;n=S(n!=null?n:"");var l=r.useRef(null);l.current||(l.current=g());var o=l.current,v=r.useState(x),a=v[0],R=v[1],m=r.useRef(a),d=r.useRef(a.pathname),u=r.useRef(null),c=r.useCallback(function(){var e=u.current;e!==null&&(window.history.scrollRestoration=e,u.current=null)},[]);r.useLayoutEffect(function(){var e=o.addListener(function(t){m.current=t,R(t)});return function(){e(),o.cleanup()}},[o]),r.useLayoutEffect(function(){var e=d.current,t=a.pathname;if(d.current=t,!f){c();return}return u.current===null&&(u.current=window.history.scrollRestoration),window.history.scrollRestoration="manual",e!==t&&window.scrollTo({top:0,left:0,behavior:"instant"}),c},[a.pathname,f,c]);var h=r.useCallback(function(e,t){if(typeof e=="number")o.go(e);else{var b=L(e,m.current.pathname,n).url;o.update(b,t==null?void 0:t.historyMode)}},[o,n]),y=r.useMemo(function(){return{location:a,navigate:h,basename:n}},[a,h,n]);return w(C.Provider,{value:y,children:p})}export{P as default};
1
+ import{jsx as b}from"react/jsx-runtime";import n from"react";import{createRouterHistory as w,getCurrentLocation as x}from"./history";import{getHref as L,normalizeBasename as P,stripBasename as _}from"./href";import j from"./RouterContext";var f=function(){return f=Object.assign||function(o){for(var a,e=1,u=arguments.length;e<u;e++){a=arguments[e];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(o[i]=a[i])}return o},f.apply(this,arguments)};function S(o){var a=o.children,e=o.basename,u=o.resetScroll,i=u===void 0?!0:u;e=P(e!=null?e:"");var m=n.useRef(null);m.current||(m.current=w());var l=m.current,v=n.useState(function(){return x(e)}),t=v[0],d=v[1],h=n.useRef(t),g=n.useRef({prevPathname:t.pathname,scrollRestoration:null});n.useLayoutEffect(function(){var s=l.addListener(function(c){var R=f(f({},c),{pathname:_(c.pathname,e)});h.current=R,d(R)}),r=g.current;return i&&(r.scrollRestoration===null&&(r.scrollRestoration=window.history.scrollRestoration),window.history.scrollRestoration="manual",r.prevPathname!==t.pathname&&(window.scrollTo({top:0,left:0,behavior:"instant"}),r.prevPathname=t.pathname)),function(){s(),l.cleanup(),r.scrollRestoration!==null&&(window.history.scrollRestoration=r.scrollRestoration,r.scrollRestoration=null)}},[l,t.pathname,i,e]);var p=n.useCallback(function(s,r){if(typeof s=="number")l.go(s);else{var c=L(s,h.current.pathname,e).url;l.update(c,r==null?void 0:r.historyMode)}},[l,e]),y=n.useMemo(function(){return{location:t,navigate:p,basename:e}},[t,p,e]);return b(j.Provider,{value:y,children:a})}export{S as default};
@@ -1 +1 @@
1
- import{jsx as R}from"react/jsx-runtime";import f from"react";import{stripBasename as x}from"./href";import{matchPath as E}from"./path";import b from"./PathParamsContext";import C from"./Route";import P from"./useRouterContext";function l(t){var r=[];return f.Children.forEach(t,function(e){if(f.isValidElement(e))if(e.type===C)r.push(e);else{var o=e.props;r=r.concat(l(o.children))}}),r}function j(t){for(var r=t.children,e=t.fallback,o=P("<Routes>"),p=o.location,s=o.basename,u=x(p.pathname,s),c=l(r),a=0,n=c;a<n.length;a++){var v=n[a],m=v.props,h=m.path,d=m.element,i=E(h,u);if(i)return R(b.Provider,{value:i,children:d})}return e}export{j as default};
1
+ import{jsx as d}from"react/jsx-runtime";import i from"react";import{matchPath as R}from"./path";import x from"./PathParamsContext";import E from"./Route";import C from"./useRouterContext";function l(e){var r=[];return i.Children.forEach(e,function(t){if(i.isValidElement(t))if(t.type===E)r.push(t);else{var o=t.props;r=r.concat(l(o.children))}}),r}function P(e){for(var r=e.children,t=e.fallback,o=C("<Routes>"),u=o.location,p=u.pathname,c=l(r),a=0,n=c;a<n.length;a++){var s=n[a],m=s.props,v=m.path,h=m.element,f=R(v,p);if(f)return d(x.Provider,{value:f,children:h})}return t}export{P as default};
@@ -1,5 +1,5 @@
1
1
  import type { HistoryMode, Location } from "../types/navigation";
2
- export declare function getCurrentLocation(): Location;
2
+ export declare function getCurrentLocation(basename?: string): Location;
3
3
  type LocationListener = (location: Location) => void;
4
4
  export declare function createRouterHistory(): {
5
5
  readonly update: (to: string, mode?: HistoryMode) => void;
@@ -1 +1 @@
1
- function c(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function s(){var t=new Set,o=function(){var n=c();t.forEach(function(e){return e(n)})},i=!1,a=function(){i||(window.addEventListener("popstate",o),i=!0)},r=function(){i&&(window.removeEventListener("popstate",o),i=!1)};return{update:function(n,e){e===void 0&&(e="push"),window.history["".concat(e,"State")](null,"",n),o()},go:function(n){window.history.go(n)},addListener:function(n){return a(),t.add(n),function(){t.delete(n),t.size===0&&r()}},cleanup:function(){r(),t.clear()}}}export{s as createRouterHistory,c as getCurrentLocation};
1
+ import{stripBasename as s}from"./href";function c(t){return{pathname:s(window.location.pathname,t),search:window.location.search,hash:window.location.hash}}function f(){var t=new Set,o=function(){var n=c();t.forEach(function(e){return e(n)})},i=!1,a=function(){i||(window.addEventListener("popstate",o),i=!0)},r=function(){i&&(window.removeEventListener("popstate",o),i=!1)};return{update:function(n,e){e===void 0&&(e="push"),window.history["".concat(e,"State")](null,"",n),o()},go:function(n){window.history.go(n)},addListener:function(n){return a(),t.add(n),function(){t.delete(n),t.size===0&&r()}},cleanup:function(){r(),t.clear()}}}export{f as createRouterHistory,c as getCurrentLocation};
@@ -5,4 +5,4 @@ export type Href = {
5
5
  export declare function getHref(to: string, pathname: string, normalizedBasename: string): Href;
6
6
  export declare function normalizeBasename(basename: string): string;
7
7
  export declare function isExternal(to: string): boolean;
8
- export declare function stripBasename(pathname: string, basename: string): string;
8
+ export declare function stripBasename(pathname: string, basename?: string): string;
@@ -1 +1 @@
1
- import{popSlash as e,prependSlash as f}from"./slash";function s(r,t,i){if(l(r))return{type:"external",url:r};if(r.startsWith("#"))return{type:"octo",url:r};var u="internal";return r.startsWith("/")?{type:u,url:i+r}:(t=n(f(t),i),!r||r.startsWith("#")?{type:u,url:i+t+r}:{type:u,url:i+e(t)+f(r)})}function c(r){return!r||r==="/"?"":f(e(r))}function l(r){return/^(https?:\/\/|mailto:|tel:)/i.test(r)}function n(r,t){return t?r===t?"/":r.startsWith(t+"/")?r.slice(t.length):r:r}export{s as getHref,l as isExternal,c as normalizeBasename,n as stripBasename};
1
+ import{normalizeSlashes as l,popSlash as f,prependSlash as e}from"./slash";function c(r,t,i){if(n(r))return{type:"external",url:r};if(r.startsWith("#"))return{type:"octo",url:r};var u="internal";return r.startsWith("/")?{type:u,url:i+r}:(t=s(e(t),i),!r||r.startsWith("#")?{type:u,url:i+t+r}:{type:u,url:i+f(t)+e(r)})}function x(r){return!r||r==="/"?"":l(r)}function n(r){return/^(https?:\/\/|mailto:|tel:)/i.test(r)}function s(r,t){return t?r===t?"/":r.startsWith(t+"/")?r.slice(t.length):r:r}export{c as getHref,n as isExternal,x as normalizeBasename,s as stripBasename};
@@ -1 +1 @@
1
- import{popSlash as h,prependSlash as m}from"./slash";function u(r){return r=m(r),r.length>1&&(r=h(r)),r}function d(r,v){var l=u(r),t=u(v);if(!l.includes(":"))return l===t?{}:!1;var n=l.split("/").filter(Boolean),i=t.split("/").filter(Boolean);if(n.length!==i.length)return!1;for(var f={},e=0;e<n.length;e++){var a=n[e],s=i[e];if(a.startsWith(":")){var o=a.slice(1).trim();if(!o)return!1;f[o]=s}else if(a!==s)return!1}return f}export{d as matchPath};
1
+ import{normalizeSlashes as v}from"./slash";function n(r,l){if(r=v(r),l=v(l),!r.includes(":"))return r===l?{}:!1;var f=r.split("/").filter(Boolean),e=l.split("/").filter(Boolean);if(f.length!==e.length)return!1;for(var o={},s=0;s<f.length;s++){var i=f[s],t=e[s];if(i.startsWith(":")){var u=i.slice(1).trim();if(!u)return!1;o[u]=t}else if(i!==t)return!1}return o}export{n as matchPath};
@@ -1,2 +1,3 @@
1
1
  export declare function prependSlash(str: string): string;
2
2
  export declare function popSlash(str: string): string;
3
+ export declare function normalizeSlashes(path: string): string;
@@ -1 +1 @@
1
- function n(e){return e.startsWith("/")?e:"/".concat(e)}function t(e){return e.replace(/\/$/,"")}export{t as popSlash,n as prependSlash};
1
+ function n(e){return e.startsWith("/")?e:"/".concat(e)}function r(e){return e.replace(/\/$/,"")}function o(e){return e?(e=n(e),e.length>1&&(e=r(e)),e):"/"}export{o as normalizeSlashes,r as popSlash,n as prependSlash};
@@ -1 +1 @@
1
- import t from"./useRouterContext";function e(){var o=t("useLocation()").location;return o}export{e as default};
1
+ import o from"./useRouterContext";function t(){return o("useLocation()").location}export{t as default};
@@ -1 +1 @@
1
- import t from"./useRouterContext";function a(){var e=t("useNavigate()").navigate;return e}export{a as default};
1
+ import e from"./useRouterContext";function t(){return e("useNavigate()").navigate}export{t as default};
@@ -3,6 +3,5 @@ import type { PathParams } from "../types/navigation";
3
3
  * Get the params from the current pathname.
4
4
  *
5
5
  * @returns The params from the current path.
6
- * @example `{id: "1"}` for `/movie/:id <=> /movie/1`
7
6
  */
8
7
  export default function usePathParams(): PathParams;
@@ -1 +1 @@
1
- import r from"react";import a from"./PathParamsContext";function e(){var t=r.useContext(a);if(!t)throw new Error("usePathParams() must be used inside of a <Router> component");return t}export{e as default};
1
+ import r from"react";import a from"./PathParamsContext";function e(){var t=r.useContext(a);if(!t)throw new Error("usePathParams() must be used inside of a <Routes> component");return t}export{e as default};
@@ -3,6 +3,5 @@ import type { SearchParams, SetSearchParams } from "../types/navigation";
3
3
  * Get and update URL search params.
4
4
  *
5
5
  * @returns Tuple of params and a setter.
6
- * @example const [params, setSearchParams] = useSearchParams()
7
6
  */
8
7
  export default function useSearchParams(): [SearchParams, SetSearchParams];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adamjanicki/ui",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
4
4
  "description": "Basic UI components and hooks for React in TypeScript",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -14,15 +14,14 @@
14
14
  "url": "git+https://github.com/adamjanicki2/ui.git"
15
15
  },
16
16
  "scripts": {
17
- "clean": "python3 clean.py",
17
+ "clean": "python3 ./scripts/clean.py",
18
18
  "lint": "eslint src test --fix && prettier --write \"src/**/*.{ts,tsx,json,css,scss,md}\" \"test/**/*.{ts,tsx}\"",
19
19
  "test": "jest --silent",
20
- "build": "npm test && eslint src test --max-warnings=0 && python3 build.py",
20
+ "build": "npm test && eslint src test --max-warnings=0 && python3 ./scripts/build.py",
21
21
  "prepare": "npm run build"
22
22
  },
23
23
  "peerDependencies": {
24
- "react": ">=19",
25
- "react-dom": ">=19"
24
+ "react": ">=19"
26
25
  },
27
26
  "devDependencies": {
28
27
  "@testing-library/jest-dom": "^6.7.0",
@@ -30,7 +29,6 @@
30
29
  "@testing-library/user-event": "^14.6.1",
31
30
  "@types/jest": "^30.0.0",
32
31
  "@types/react": "^19.0.0",
33
- "@types/react-dom": "^19.0.0",
34
32
  "esbuild": "^0.27.2",
35
33
  "jest": "^30.0.5",
36
34
  "jest-environment-jsdom": "^30.0.5",
package/style.css CHANGED
@@ -1 +1 @@
1
- :root{--aui-xxs: 2px;--aui-xs: 4px;--aui-s: 8px;--aui-m: 16px;--aui-l: 24px;--aui-xl: 32px;--aui-xxl: 64px;--aui-moon-gray: #ccc;--aui-dark-gray: #555;--aui-darkest-gray: #333;--aui-obsidian: #121212;--aui-focus-ring-color: #b2dbfa;--aui-color-default: black;--aui-color-muted: var(--aui-dark-gray);--aui-default-background: white;--aui-default-border: var(--aui-moon-gray);--aui-opacity-disabled: 0.5;--aui-opacity-dim: 0.75;--aui-default-transition: 0.25s ease-in-out;--aui-floating-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);--aui-radius-none: 0;--aui-radius-subtle: 4px;--aui-radius-rounded: 8px;--aui-radius-max: 10000px;--aui-button-primary-background: black;--aui-button-primary-color: white;--aui-button-secondary-border-hover: var(--aui-darkest-gray);--aui-subtle-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);--aui-button-primary-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.36);--aui-success-background: #dff2e1;--aui-success-color: #1b5e20;--aui-success-border: #b2dfb1;--aui-warning-background: #fceeb6;--aui-warning-color: #b23904;--aui-warning-border: #e6d5a2;--aui-error-background: #fdecea;--aui-error-color: #b71c1c;--aui-error-border: #f5b7b7;--aui-info-background: #e3f2fd;--aui-info-color: #0d47a1;--aui-info-border: #90caf9;--aui-avatar-purple: #bc54d6;--aui-avatar-blue: #618bdc;--aui-avatar-red: #ee6060;--aui-avatar-green: #add386;--aui-avatar-yellow: #f5c76d;--aui-static-background: #e8e8e8;--aui-static-color: var(--aui-color-default);--aui-static-border: var(--aui-default-border);--aui-layer-backdrop-background: rgba(200, 200, 200, 0.6);--aui-link-color: #0070ff}[data-theme=dark]{--aui-focus-ring-color: #6699cc;--aui-color-default: white;--aui-color-muted: var(--aui-moon-gray);--aui-default-background: var(--aui-obsidian);--aui-default-border: var(--aui-dark-gray);--aui-floating-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);--aui-button-primary-background: white;--aui-button-primary-color: var(--aui-obsidian);--aui-button-secondary-border-hover: var(--aui-moon-gray);--aui-subtle-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);--aui-button-primary-box-shadow: 0 1px 2px rgba(64, 64, 64, 0.8);--aui-success-background: #2a5733;--aui-success-color: #d9efd8;--aui-success-border: #439e4a;--aui-warning-background: #736230;--aui-warning-color: #fff6d1;--aui-warning-border: #927a3b;--aui-error-background: #663232;--aui-error-color: #f9dadc;--aui-error-border: #8d2a2a;--aui-info-background: #335f72;--aui-info-color: #d4f1f5;--aui-info-border: #1d8ea4;--aui-static-background: var(--aui-darkest-gray);--aui-static-color: var(--aui-color-default);--aui-static-border: var(--aui-default-border);--aui-avatar-purple: #771199;--aui-avatar-blue: #0b4cce;--aui-avatar-red: #bb1111;--aui-avatar-green: #307040;--aui-avatar-yellow: #bb8822;--aui-layer-backdrop-background: rgba(55, 55, 55, 0.7);--aui-link-color: #33bfff}*{box-sizing:border-box}html{font-family:system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;line-height:1.15;tab-size:4;-webkit-font-smoothing:antialiased}body{margin:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-content-success{background-color:var(--aui-success-background);color:var(--aui-success-color);border-color:var(--aui-success-border)}.aui-content-warning{background-color:var(--aui-warning-background);color:var(--aui-warning-color);border-color:var(--aui-warning-border)}.aui-content-error{background-color:var(--aui-error-background);color:var(--aui-error-color);border-color:var(--aui-error-border)}.aui-content-info{background-color:var(--aui-info-background);color:var(--aui-info-color);border-color:var(--aui-info-border)}.aui-content-static{background-color:var(--aui-static-background);color:var(--aui-static-color);border-color:var(--aui-static-border)}.aui-alert,.aui-badge{border-style:solid;border-width:1px}.aui-action{color:inherit;text-decoration:none;cursor:pointer;outline-color:var(--aui-link-color)}.aui-action:focus:not(:focus-visible){outline:none}.aui-button{background:none;border:none;padding:0}.aui-button:disabled{cursor:default !important;opacity:var(--aui-opacity-disabled)}.aui-button-primary{background-color:var(--aui-button-primary-background);border:1px solid var(--aui-button-primary-background);color:var(--aui-button-primary-color);box-shadow:var(--aui-button-primary-box-shadow);transition:opacity var(--aui-default-transition)}.aui-button-secondary{color:var(--aui-color-default);background-color:var(--aui-default-background);border:1px solid var(--aui-default-border);box-shadow:var(--aui-subtle-box-shadow);transition:border var(--aui-default-transition)}.aui-dim,.aui-undim{transition:opacity var(--aui-default-transition)}.aui-dim{opacity:1}.aui-undim{opacity:var(--aui-opacity-dim)}.aui-link{color:var(--aui-link-color);transition:opacity var(--aui-default-transition)}.aui-table{display:table;border-spacing:0}.aui-table-row{display:table-row}.aui-subtle-hover{background-color:rgba(0,0,0,0);transition:background-color var(--aui-default-transition)}.aui-table-cell{display:table-cell;vertical-align:middle}@media(hover: hover){.aui-button-primary:not([disabled]):hover,.aui-dim:not([disabled]):hover,.aui-link:hover{opacity:var(--aui-opacity-dim)}.aui-button-secondary:not([disabled]):hover{border-color:var(--aui-button-secondary-border-hover)}.aui-undim:not([disabled]):hover{opacity:1}.aui-subtle-hover:not([disabled]):hover,.aui-autocomplete-on-option{background-color:var(--aui-static-background)}}.aui-input-base{outline:none;border:none;background-color:inherit;color:inherit;padding:var(--aui-s);font-weight:400}.aui-input-base::selection{background-color:var(--aui-focus-ring-color)}.aui-input,.aui-select-container{transition:box-shadow var(--aui-default-transition);border:1px solid var(--aui-default-border);box-shadow:var(--aui-subtle-box-shadow);background-color:var(--aui-default-background)}.aui-input:disabled{opacity:var(--aui-opacity-disabled);cursor:default}.aui-input:not([disabled]):focus-within,.aui-select-container:not([disabled]):focus-within{box-shadow:var(--aui-subtle-box-shadow),0 0 0 3px var(--aui-focus-ring-color)}.aui-select{width:100%;color:inherit;border:none;outline:none;box-shadow:none;cursor:pointer;background-color:rgba(0,0,0,0);padding:var(--aui-s) 28px var(--aui-s) var(--aui-s);font-weight:600;appearance:none;-webkit-appearance:none;-moz-appearance:none}.aui-select-disabled *{opacity:var(--aui-opacity-disabled);cursor:default}.aui-layer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--aui-layer-backdrop-background)}.aui-icon *{color:currentColor;fill:currentColor}.aui-spinner{animation:aui-spinner-animation 1s linear infinite;transform-origin:center;height:var(--aui-l)}@keyframes aui-spinner-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.aui-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:var(--aui-l);height:var(--aui-l)}.aui-carousel-dots{position:absolute;bottom:var(--aui-s);transform:translateX(-50%);left:50%}.aui-carousel-dot{width:var(--aui-m);height:var(--aui-s)}.aui-pos-relative{position:relative}.aui-pos-absolute{position:absolute}.aui-pos-fixed{position:fixed}.aui-pos-sticky{position:sticky}.aui-flex-x{display:flex;flex-direction:row}.aui-flex-y{display:flex;flex-direction:column}.aui-flex--x{display:flex;flex-direction:row-reverse}.aui-flex--y{display:flex;flex-direction:column-reverse}.aui-flex-wrap{flex-wrap:wrap}.aui-align-start{align-items:flex-start}.aui-align-center{align-items:center}.aui-align-end{align-items:flex-end}.aui-justify-start{justify-content:flex-start}.aui-justify-center{justify-content:center}.aui-justify-end{justify-content:flex-end}.aui-justify-between{justify-content:space-between}.aui-justify-around{justify-content:space-around}.aui-stretch-even{flex:1 1 0}.aui-stretch-grow{flex-grow:1}.aui-stretch-min{flex-shrink:1}.aui-stretch-max{flex:0 0 100%}.aui-avatar-red{background-color:var(--aui-avatar-red)}.aui-avatar-yellow{background-color:var(--aui-avatar-yellow)}.aui-avatar-green{background-color:var(--aui-avatar-green)}.aui-avatar-blue{background-color:var(--aui-avatar-blue)}.aui-avatar-purple{background-color:var(--aui-avatar-purple)}.aui-avatar-xxs{width:12px;height:12px;line-height:12px;font-size:9.6px}.aui-avatar-xs{width:16px;height:16px;line-height:16px;font-size:12.8px}.aui-avatar-s{width:24px;height:24px;line-height:24px;font-size:19.2px}.aui-avatar-m{width:32px;height:32px;line-height:32px;font-size:25.6px}.aui-avatar-l{width:48px;height:48px;line-height:48px;font-size:38.4px}.aui-avatar-xl{width:64px;height:64px;line-height:64px;font-size:51.2px}.aui-avatar-xxl{width:128px;height:128px;line-height:128px;font-size:102.4px}.aui-icon-xxs{width:8px;height:8px}.aui-icon-xs{width:12px;height:12px}.aui-icon-s{width:16px;height:16px}.aui-icon-m{width:24px;height:24px}.aui-icon-l{width:32px;height:32px}.aui-icon-xl{width:48px;height:48px}.aui-icon-xxl{width:64px;height:64px}.aui-pa-none{padding:0}.aui-pa-xxs{padding:var(--aui-xxs)}.aui-pa-xs{padding:var(--aui-xs)}.aui-pa-s{padding:var(--aui-s)}.aui-pa-m{padding:var(--aui-m)}.aui-pa-l{padding:var(--aui-l)}.aui-pa-xl{padding:var(--aui-xl)}.aui-pa-xxl{padding:var(--aui-xxl)}.aui-pt-none{padding-top:0}.aui-pt-xxs{padding-top:var(--aui-xxs)}.aui-pt-xs{padding-top:var(--aui-xs)}.aui-pt-s{padding-top:var(--aui-s)}.aui-pt-m{padding-top:var(--aui-m)}.aui-pt-l{padding-top:var(--aui-l)}.aui-pt-xl{padding-top:var(--aui-xl)}.aui-pt-xxl{padding-top:var(--aui-xxl)}.aui-pb-none{padding-bottom:0}.aui-pb-xxs{padding-bottom:var(--aui-xxs)}.aui-pb-xs{padding-bottom:var(--aui-xs)}.aui-pb-s{padding-bottom:var(--aui-s)}.aui-pb-m{padding-bottom:var(--aui-m)}.aui-pb-l{padding-bottom:var(--aui-l)}.aui-pb-xl{padding-bottom:var(--aui-xl)}.aui-pb-xxl{padding-bottom:var(--aui-xxl)}.aui-pl-none{padding-left:0}.aui-pl-xxs{padding-left:var(--aui-xxs)}.aui-pl-xs{padding-left:var(--aui-xs)}.aui-pl-s{padding-left:var(--aui-s)}.aui-pl-m{padding-left:var(--aui-m)}.aui-pl-l{padding-left:var(--aui-l)}.aui-pl-xl{padding-left:var(--aui-xl)}.aui-pl-xxl{padding-left:var(--aui-xxl)}.aui-pr-none{padding-right:0}.aui-pr-xxs{padding-right:var(--aui-xxs)}.aui-pr-xs{padding-right:var(--aui-xs)}.aui-pr-s{padding-right:var(--aui-s)}.aui-pr-m{padding-right:var(--aui-m)}.aui-pr-l{padding-right:var(--aui-l)}.aui-pr-xl{padding-right:var(--aui-xl)}.aui-pr-xxl{padding-right:var(--aui-xxl)}.aui-ma-auto{margin:auto}.aui-ma-none{margin:0}.aui-ma-xxs{margin:var(--aui-xxs)}.aui-ma-xs{margin:var(--aui-xs)}.aui-ma-s{margin:var(--aui-s)}.aui-ma-m{margin:var(--aui-m)}.aui-ma-l{margin:var(--aui-l)}.aui-ma-xl{margin:var(--aui-xl)}.aui-ma-xxl{margin:var(--aui-xxl)}.aui-mt-auto{margin-top:auto}.aui-mt-none{margin-top:0}.aui-mt-xxs{margin-top:var(--aui-xxs)}.aui-mt-xs{margin-top:var(--aui-xs)}.aui-mt-s{margin-top:var(--aui-s)}.aui-mt-m{margin-top:var(--aui-m)}.aui-mt-l{margin-top:var(--aui-l)}.aui-mt-xl{margin-top:var(--aui-xl)}.aui-mt-xxl{margin-top:var(--aui-xxl)}.aui-mb-auto{margin-bottom:auto}.aui-mb-none{margin-bottom:0}.aui-mb-xxs{margin-bottom:var(--aui-xxs)}.aui-mb-xs{margin-bottom:var(--aui-xs)}.aui-mb-s{margin-bottom:var(--aui-s)}.aui-mb-m{margin-bottom:var(--aui-m)}.aui-mb-l{margin-bottom:var(--aui-l)}.aui-mb-xl{margin-bottom:var(--aui-xl)}.aui-mb-xxl{margin-bottom:var(--aui-xxl)}.aui-ml-auto{margin-left:auto}.aui-ml-none{margin-left:0}.aui-ml-xxs{margin-left:var(--aui-xxs)}.aui-ml-xs{margin-left:var(--aui-xs)}.aui-ml-s{margin-left:var(--aui-s)}.aui-ml-m{margin-left:var(--aui-m)}.aui-ml-l{margin-left:var(--aui-l)}.aui-ml-xl{margin-left:var(--aui-xl)}.aui-ml-xxl{margin-left:var(--aui-xxl)}.aui-mr-auto{margin-right:auto}.aui-mr-none{margin-right:0}.aui-mr-xxs{margin-right:var(--aui-xxs)}.aui-mr-xs{margin-right:var(--aui-xs)}.aui-mr-s{margin-right:var(--aui-s)}.aui-mr-m{margin-right:var(--aui-m)}.aui-mr-l{margin-right:var(--aui-l)}.aui-mr-xl{margin-right:var(--aui-xl)}.aui-mr-xxl{margin-right:var(--aui-xxl)}.aui-gap-none{gap:0}.aui-gap-xxs{gap:var(--aui-xxs)}.aui-gap-xs{gap:var(--aui-xs)}.aui-gap-s{gap:var(--aui-s)}.aui-gap-m{gap:var(--aui-m)}.aui-gap-l{gap:var(--aui-l)}.aui-gap-xl{gap:var(--aui-xl)}.aui-gap-xxl{gap:var(--aui-xxl)}.aui-w-full{width:100%}.aui-w-fit{width:fit-content}.aui-w-min{width:min-content}.aui-w-max{width:max-content}.aui-minw-full{min-width:100%}.aui-minw-fit{min-width:fit-content}.aui-minw-min{min-width:min-content}.aui-minw-max{min-width:max-content}.aui-maxw-full{max-width:100%}.aui-maxw-fit{max-width:fit-content}.aui-maxw-min{max-width:min-content}.aui-maxw-max{max-width:max-content}.aui-h-full{height:100%}.aui-h-fit{height:fit-content}.aui-h-min{height:min-content}.aui-h-max{height:max-content}.aui-minh-full{min-height:100%}.aui-minh-fit{min-height:fit-content}.aui-minh-min{min-height:min-content}.aui-minh-max{min-height:max-content}.aui-maxh-full{max-height:100%}.aui-maxh-fit{max-height:fit-content}.aui-maxh-min{max-height:min-content}.aui-maxh-max{max-height:max-content}.aui-radius-none{border-radius:var(--aui-radius-none)}.aui-radius-subtle{border-radius:var(--aui-radius-subtle)}.aui-radius-rounded{border-radius:var(--aui-radius-rounded)}.aui-radius-max{border-radius:var(--aui-radius-max)}.aui-ba{border:1px solid var(--aui-default-border)}.aui-bt{border-top:1px solid var(--aui-default-border)}.aui-br{border-right:1px solid var(--aui-default-border)}.aui-bb{border-bottom:1px solid var(--aui-default-border)}.aui-bl{border-left:1px solid var(--aui-default-border)}.aui-bw-none{border-width:0px}.aui-bw-xs{border-width:1px}.aui-bw-s{border-width:2px}.aui-bw-m{border-width:4px}.aui-bw-l{border-width:8px}.aui-bw-xl{border-width:16px}.aui-bs-solid{border-style:solid}.aui-bs-dotted{border-style:dotted}.aui-bs-dashed{border-style:dashed}.aui-bs-none{border-style:none}.aui-bc-default{border-color:var(--aui-default-border)}.aui-bc-primary{border-color:var(--aui-color-default)}.aui-shadow-subtle{box-shadow:var(--aui-subtle-box-shadow)}.aui-shadow-floating{box-shadow:var(--aui-floating-box-shadow)}.aui-shadow-none{box-shadow:none}.aui-op-none{opacity:0}.aui-op-disabled{opacity:var(--aui-opacity-disabled)}.aui-op-dim{opacity:var(--aui-opacity-dim)}.aui-op-full{opacity:1}.aui-f-xxs{font-size:10px}.aui-f-xs{font-size:12px}.aui-f-s{font-size:14px}.aui-f-default{font-size:16px}.aui-f-m{font-size:20px}.aui-f-l{font-size:24px}.aui-f-xl{font-size:32px}.aui-f-xxl{font-size:48px}.aui-fw-1{font-weight:100}.aui-fw-2{font-weight:200}.aui-fw-3{font-weight:300}.aui-fw-4{font-weight:400}.aui-fw-5{font-weight:500}.aui-fw-6{font-weight:600}.aui-fw-7{font-weight:700}.aui-fw-8{font-weight:800}.aui-fw-9{font-weight:900}.aui-ta-left{text-align:left}.aui-ta-right{text-align:right}.aui-ta-center{text-align:center}.aui-it{font-style:italic}.aui-c-default{color:var(--aui-color-default)}.aui-c-muted{color:var(--aui-color-muted)}.aui-c-inherit{color:inherit}.aui-c-transparent{color:rgba(0,0,0,0)}.aui-bg-default{background-color:var(--aui-default-background)}.aui-bg-muted{background-color:var(--aui-static-background)}.aui-bg-inherit{background-color:inherit}.aui-bg-transparent{background-color:rgba(0,0,0,0)}.aui-ov-auto{overflow:auto}.aui-ov-x-auto{overflow-x:auto}.aui-ov-y-auto{overflow-y:auto}.aui-ov-hidden{overflow:hidden}.aui-ov-x-hidden{overflow-x:hidden}.aui-ov-y-hidden{overflow-y:hidden}.aui-z-auto{z-index:auto}.aui-z-floating{z-index:100}.aui-z-nav{z-index:1000}.aui-z-max{z-index:10000}.aui-cursor-auto{cursor:auto}.aui-cursor-pointer{cursor:pointer}
1
+ :root{--aui-xxs: 2px;--aui-xs: 4px;--aui-s: 8px;--aui-m: 16px;--aui-l: 24px;--aui-xl: 32px;--aui-xxl: 64px;--aui-light-gray: #e8e8e8;--aui-moon-gray: #ccc;--aui-dark-gray: #555;--aui-darkest-gray: #333;--aui-obsidian: #121212;--aui-focus-ring-color: #b2dbfa;--aui-color-default: black;--aui-color-muted: var(--aui-dark-gray);--aui-default-background: white;--aui-default-border: var(--aui-moon-gray);--aui-opacity-disabled: 0.5;--aui-opacity-dim: 0.75;--aui-transition: 0.25s;--aui-floating-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);--aui-radius-none: 0;--aui-radius-subtle: 4px;--aui-radius-rounded: 8px;--aui-radius-max: 10000px;--aui-button-primary-background: black;--aui-button-primary-color: white;--aui-button-secondary-border-hover: var(--aui-darkest-gray);--aui-subtle-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.16);--aui-button-primary-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.42);--aui-button-danger-background: #cc1122;--aui-button-danger-box-shadow: 0 1px 2px rgba(120, 20, 20, 0.48);--aui-success-background: #dff2e1;--aui-success-color: #1b5e20;--aui-success-border: #b2dfb1;--aui-warning-background: #fceeb6;--aui-warning-color: #b23904;--aui-warning-border: #e6d5a2;--aui-error-background: #fdecea;--aui-error-color: #b71c1c;--aui-error-border: #f5b7b7;--aui-info-background: #e3f2fd;--aui-info-color: #0d47a1;--aui-info-border: #90caf9;--aui-avatar-purple: #bc54d6;--aui-avatar-blue: #618bdc;--aui-avatar-red: #ee6060;--aui-avatar-green: #add386;--aui-avatar-yellow: #f5c76d;--aui-static-background: var(--aui-light-gray);--aui-static-color: var(--aui-color-default);--aui-static-border: var(--aui-default-border);--aui-layer-backdrop-background: rgba(200, 200, 200, 0.6);--aui-link-color: #0070ff}[data-theme=dark]{--aui-focus-ring-color: #6699cc;--aui-color-default: white;--aui-color-muted: var(--aui-moon-gray);--aui-default-background: var(--aui-obsidian);--aui-default-border: var(--aui-dark-gray);--aui-floating-box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);--aui-button-primary-background: white;--aui-button-primary-color: black;--aui-button-secondary-border-hover: var(--aui-moon-gray);--aui-subtle-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);--aui-button-primary-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);--aui-button-danger-background: #ff4444;--aui-button-danger-box-shadow: 0 1px 2px rgba(120, 20, 20, 0.75);--aui-success-background: #2a5733;--aui-success-color: #d9efd8;--aui-success-border: #439e4a;--aui-warning-background: #736230;--aui-warning-color: #fff6d1;--aui-warning-border: #927a3b;--aui-error-background: #663232;--aui-error-color: #f9dadc;--aui-error-border: #8d2a2a;--aui-info-background: #335f72;--aui-info-color: #d4f1f5;--aui-info-border: #1d8ea4;--aui-static-background: var(--aui-darkest-gray);--aui-static-color: var(--aui-color-default);--aui-static-border: var(--aui-default-border);--aui-avatar-purple: #771199;--aui-avatar-blue: #0b4cce;--aui-avatar-red: #bb1111;--aui-avatar-green: #307040;--aui-avatar-yellow: #bb8822;--aui-layer-backdrop-background: rgba(55, 55, 55, 0.7);--aui-link-color: #33bfff}*{box-sizing:border-box}html{font-family:system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;line-height:1.15;tab-size:4;-webkit-font-smoothing:antialiased}body{margin:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}.aui-action{color:inherit;text-decoration:none;cursor:pointer;outline-color:var(--aui-link-color)}.aui-action:focus:not(:focus-visible){outline:none}.aui-button{background:none;border:none;padding:0}.aui-button:disabled{cursor:default !important;opacity:var(--aui-opacity-disabled)}.aui-button-primary{background-color:var(--aui-button-primary-background);border:1px solid var(--aui-button-primary-background);color:var(--aui-button-primary-color);box-shadow:var(--aui-button-primary-box-shadow);transition:opacity var(--aui-transition)}.aui-button-danger{background-color:var(--aui-button-danger-background);border:1px solid var(--aui-button-danger-background);color:var(--aui-button-primary-color);box-shadow:var(--aui-button-danger-box-shadow);transition:opacity var(--aui-transition)}.aui-button-secondary{color:var(--aui-color-default);background-color:var(--aui-default-background);border:1px solid var(--aui-default-border);box-shadow:var(--aui-subtle-box-shadow);transition:border var(--aui-transition)}.aui-hov-dim,.aui-hov-undim{transition:opacity var(--aui-transition)}.aui-hov-dim{opacity:1}.aui-hov-undim{opacity:var(--aui-opacity-dim)}.aui-link{color:var(--aui-link-color)}.aui-table{display:table;border-spacing:0}.aui-table-row{display:table-row}.aui-hov-shade{background-color:rgba(0,0,0,0);transition:background-color var(--aui-transition)}.aui-table-cell{display:table-cell;vertical-align:middle}@media(hover: hover){.aui-hov-dim:not([disabled]):hover{opacity:var(--aui-opacity-dim)}.aui-button-secondary:not([disabled]):hover{border-color:var(--aui-button-secondary-border-hover)}.aui-hov-undim:not([disabled]):hover{opacity:1}.aui-hov-shade:not([disabled]):hover,.aui-autocomplete-on-option{background-color:var(--aui-static-background)}}.aui-input-base{outline:none;border:none;background-color:inherit;color:inherit;padding:var(--aui-s);font-weight:400}.aui-input-base::selection{background-color:var(--aui-focus-ring-color)}.aui-input,.aui-select-container{transition:box-shadow var(--aui-transition);border:1px solid var(--aui-default-border);box-shadow:var(--aui-subtle-box-shadow);background-color:var(--aui-default-background)}.aui-input:disabled{opacity:var(--aui-opacity-disabled);cursor:default}.aui-input:not([disabled]):focus-within,.aui-select-container:not([disabled]):focus-within{box-shadow:var(--aui-subtle-box-shadow),0 0 0 3px var(--aui-focus-ring-color)}.aui-select{width:100%;color:inherit;border:none;outline:none;box-shadow:none;cursor:pointer;background-color:rgba(0,0,0,0);padding:var(--aui-s) 28px var(--aui-s) var(--aui-s);font-weight:600;appearance:none;-webkit-appearance:none;-moz-appearance:none}.aui-select-disabled *{opacity:var(--aui-opacity-disabled);cursor:default}.aui-layer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--aui-layer-backdrop-background)}.aui-icon *{color:currentColor;fill:currentColor}.aui-spinner{animation:aui-spinner-animation 1s linear infinite;transform-origin:center;height:var(--aui-l)}@keyframes aui-spinner-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.aui-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:var(--aui-l);height:var(--aui-l)}.aui-carousel-dots{position:absolute;bottom:var(--aui-s);transform:translateX(-50%);left:50%}.aui-carousel-dot{width:var(--aui-m);height:var(--aui-s)}.aui-pos-relative{position:relative}.aui-pos-absolute{position:absolute}.aui-pos-fixed{position:fixed}.aui-pos-sticky{position:sticky}.aui-flex-x{display:flex;flex-direction:row}.aui-flex-y{display:flex;flex-direction:column}.aui-flex--x{display:flex;flex-direction:row-reverse}.aui-flex--y{display:flex;flex-direction:column-reverse}.aui-flex-wrap{flex-wrap:wrap}.aui-align-start{align-items:flex-start}.aui-align-center{align-items:center}.aui-align-end{align-items:flex-end}.aui-justify-start{justify-content:flex-start}.aui-justify-center{justify-content:center}.aui-justify-end{justify-content:flex-end}.aui-justify-between{justify-content:space-between}.aui-justify-around{justify-content:space-around}.aui-stretch-even{flex:1 1 0}.aui-stretch-grow{flex-grow:1}.aui-stretch-min{flex-shrink:1}.aui-stretch-max{flex:0 0 100%}.aui-avatar-red{background-color:var(--aui-avatar-red)}.aui-avatar-yellow{background-color:var(--aui-avatar-yellow)}.aui-avatar-green{background-color:var(--aui-avatar-green)}.aui-avatar-blue{background-color:var(--aui-avatar-blue)}.aui-avatar-purple{background-color:var(--aui-avatar-purple)}.aui-avatar-xxs{width:12px;height:12px;line-height:12px;font-size:9.6px}.aui-avatar-xs{width:16px;height:16px;line-height:16px;font-size:12.8px}.aui-avatar-s{width:24px;height:24px;line-height:24px;font-size:19.2px}.aui-avatar-m{width:32px;height:32px;line-height:32px;font-size:25.6px}.aui-avatar-l{width:48px;height:48px;line-height:48px;font-size:38.4px}.aui-avatar-xl{width:64px;height:64px;line-height:64px;font-size:51.2px}.aui-avatar-xxl{width:128px;height:128px;line-height:128px;font-size:102.4px}.aui-icon-xxs{width:8px;height:8px}.aui-icon-xs{width:12px;height:12px}.aui-icon-s{width:16px;height:16px}.aui-icon-m{width:24px;height:24px}.aui-icon-l{width:32px;height:32px}.aui-icon-xl{width:48px;height:48px}.aui-icon-xxl{width:64px;height:64px}.aui-pa-xxs{padding:var(--aui-xxs)}.aui-pa-xs{padding:var(--aui-xs)}.aui-pa-s{padding:var(--aui-s)}.aui-pa-m{padding:var(--aui-m)}.aui-pa-l{padding:var(--aui-l)}.aui-pa-xl{padding:var(--aui-xl)}.aui-pa-xxl{padding:var(--aui-xxl)}.aui-pa-none{padding:0}.aui-pt-xxs{padding-top:var(--aui-xxs)}.aui-pt-xs{padding-top:var(--aui-xs)}.aui-pt-s{padding-top:var(--aui-s)}.aui-pt-m{padding-top:var(--aui-m)}.aui-pt-l{padding-top:var(--aui-l)}.aui-pt-xl{padding-top:var(--aui-xl)}.aui-pt-xxl{padding-top:var(--aui-xxl)}.aui-pt-none{padding-top:0}.aui-pb-xxs{padding-bottom:var(--aui-xxs)}.aui-pb-xs{padding-bottom:var(--aui-xs)}.aui-pb-s{padding-bottom:var(--aui-s)}.aui-pb-m{padding-bottom:var(--aui-m)}.aui-pb-l{padding-bottom:var(--aui-l)}.aui-pb-xl{padding-bottom:var(--aui-xl)}.aui-pb-xxl{padding-bottom:var(--aui-xxl)}.aui-pb-none{padding-bottom:0}.aui-pl-xxs{padding-left:var(--aui-xxs)}.aui-pl-xs{padding-left:var(--aui-xs)}.aui-pl-s{padding-left:var(--aui-s)}.aui-pl-m{padding-left:var(--aui-m)}.aui-pl-l{padding-left:var(--aui-l)}.aui-pl-xl{padding-left:var(--aui-xl)}.aui-pl-xxl{padding-left:var(--aui-xxl)}.aui-pl-none{padding-left:0}.aui-pr-xxs{padding-right:var(--aui-xxs)}.aui-pr-xs{padding-right:var(--aui-xs)}.aui-pr-s{padding-right:var(--aui-s)}.aui-pr-m{padding-right:var(--aui-m)}.aui-pr-l{padding-right:var(--aui-l)}.aui-pr-xl{padding-right:var(--aui-xl)}.aui-pr-xxl{padding-right:var(--aui-xxl)}.aui-pr-none{padding-right:0}.aui-ma-auto{margin:auto}.aui-ma-xxs{margin:var(--aui-xxs)}.aui-ma-xs{margin:var(--aui-xs)}.aui-ma-s{margin:var(--aui-s)}.aui-ma-m{margin:var(--aui-m)}.aui-ma-l{margin:var(--aui-l)}.aui-ma-xl{margin:var(--aui-xl)}.aui-ma-xxl{margin:var(--aui-xxl)}.aui-ma-none{margin:0}.aui-mt-auto{margin-top:auto}.aui-mt-xxs{margin-top:var(--aui-xxs)}.aui-mt-xs{margin-top:var(--aui-xs)}.aui-mt-s{margin-top:var(--aui-s)}.aui-mt-m{margin-top:var(--aui-m)}.aui-mt-l{margin-top:var(--aui-l)}.aui-mt-xl{margin-top:var(--aui-xl)}.aui-mt-xxl{margin-top:var(--aui-xxl)}.aui-mt-none{margin-top:0}.aui-mb-auto{margin-bottom:auto}.aui-mb-xxs{margin-bottom:var(--aui-xxs)}.aui-mb-xs{margin-bottom:var(--aui-xs)}.aui-mb-s{margin-bottom:var(--aui-s)}.aui-mb-m{margin-bottom:var(--aui-m)}.aui-mb-l{margin-bottom:var(--aui-l)}.aui-mb-xl{margin-bottom:var(--aui-xl)}.aui-mb-xxl{margin-bottom:var(--aui-xxl)}.aui-mb-none{margin-bottom:0}.aui-ml-auto{margin-left:auto}.aui-ml-xxs{margin-left:var(--aui-xxs)}.aui-ml-xs{margin-left:var(--aui-xs)}.aui-ml-s{margin-left:var(--aui-s)}.aui-ml-m{margin-left:var(--aui-m)}.aui-ml-l{margin-left:var(--aui-l)}.aui-ml-xl{margin-left:var(--aui-xl)}.aui-ml-xxl{margin-left:var(--aui-xxl)}.aui-ml-none{margin-left:0}.aui-mr-auto{margin-right:auto}.aui-mr-xxs{margin-right:var(--aui-xxs)}.aui-mr-xs{margin-right:var(--aui-xs)}.aui-mr-s{margin-right:var(--aui-s)}.aui-mr-m{margin-right:var(--aui-m)}.aui-mr-l{margin-right:var(--aui-l)}.aui-mr-xl{margin-right:var(--aui-xl)}.aui-mr-xxl{margin-right:var(--aui-xxl)}.aui-mr-none{margin-right:0}.aui-gap-xxs{gap:var(--aui-xxs)}.aui-gap-xs{gap:var(--aui-xs)}.aui-gap-s{gap:var(--aui-s)}.aui-gap-m{gap:var(--aui-m)}.aui-gap-l{gap:var(--aui-l)}.aui-gap-xl{gap:var(--aui-xl)}.aui-gap-xxl{gap:var(--aui-xxl)}.aui-gap-none{gap:0}.aui-w-full{width:100%}.aui-w-fit{width:fit-content}.aui-w-min{width:min-content}.aui-w-max{width:max-content}.aui-minw-full{min-width:100%}.aui-minw-fit{min-width:fit-content}.aui-minw-min{min-width:min-content}.aui-minw-max{min-width:max-content}.aui-maxw-full{max-width:100%}.aui-maxw-fit{max-width:fit-content}.aui-maxw-min{max-width:min-content}.aui-maxw-max{max-width:max-content}.aui-h-full{height:100%}.aui-h-fit{height:fit-content}.aui-h-min{height:min-content}.aui-h-max{height:max-content}.aui-minh-full{min-height:100%}.aui-minh-fit{min-height:fit-content}.aui-minh-min{min-height:min-content}.aui-minh-max{min-height:max-content}.aui-maxh-full{max-height:100%}.aui-maxh-fit{max-height:fit-content}.aui-maxh-min{max-height:min-content}.aui-maxh-max{max-height:max-content}.aui-radius-subtle{border-radius:var(--aui-radius-subtle)}.aui-radius-rounded{border-radius:var(--aui-radius-rounded)}.aui-radius-max{border-radius:var(--aui-radius-max)}.aui-radius-none{border-radius:var(--aui-radius-none)}.aui-ba{border:1px solid var(--aui-default-border)}.aui-ba-none{border:none}.aui-bt{border-top:1px solid var(--aui-default-border)}.aui-bt-none{border-top:none}.aui-br{border-right:1px solid var(--aui-default-border)}.aui-br-none{border-right:none}.aui-bb{border-bottom:1px solid var(--aui-default-border)}.aui-bb-none{border-bottom:none}.aui-bl{border-left:1px solid var(--aui-default-border)}.aui-bl-none{border-left:none}.aui-bw-xs{border-width:1px}.aui-bw-s{border-width:2px}.aui-bw-m{border-width:4px}.aui-bw-l{border-width:8px}.aui-bw-none{border-width:0px}.aui-bs-solid{border-style:solid}.aui-bs-dotted{border-style:dotted}.aui-bs-dashed{border-style:dashed}.aui-bs-none{border-style:none}.aui-bc-default{border-color:var(--aui-default-border)}.aui-bc-primary{border-color:var(--aui-color-default)}.aui-shadow-subtle{box-shadow:var(--aui-subtle-box-shadow)}.aui-shadow-floating{box-shadow:var(--aui-floating-box-shadow)}.aui-shadow-none{box-shadow:none}.aui-op-disabled{opacity:var(--aui-opacity-disabled)}.aui-op-dim{opacity:var(--aui-opacity-dim)}.aui-op-full{opacity:1}.aui-op-none{opacity:0}.aui-content-success{background-color:var(--aui-success-background);color:var(--aui-success-color);border-color:var(--aui-success-border)}.aui-content-warning{background-color:var(--aui-warning-background);color:var(--aui-warning-color);border-color:var(--aui-warning-border)}.aui-content-error{background-color:var(--aui-error-background);color:var(--aui-error-color);border-color:var(--aui-error-border)}.aui-content-info{background-color:var(--aui-info-background);color:var(--aui-info-color);border-color:var(--aui-info-border)}.aui-content-static{background-color:var(--aui-static-background);color:var(--aui-static-color);border-color:var(--aui-static-border)}.aui-f-xxs{font-size:10px}.aui-f-xs{font-size:12px}.aui-f-s{font-size:14px}.aui-f-default{font-size:16px}.aui-f-m{font-size:20px}.aui-f-l{font-size:24px}.aui-f-xl{font-size:32px}.aui-f-xxl{font-size:48px}.aui-fw-1{font-weight:100}.aui-fw-2{font-weight:200}.aui-fw-3{font-weight:300}.aui-fw-4{font-weight:400}.aui-fw-5{font-weight:500}.aui-fw-6{font-weight:600}.aui-fw-7{font-weight:700}.aui-fw-8{font-weight:800}.aui-fw-9{font-weight:900}.aui-ta-left{text-align:left}.aui-ta-right{text-align:right}.aui-ta-center{text-align:center}.aui-lh-s{line-height:1.15}.aui-lh-m{line-height:1.5}.aui-lh-l{line-height:2}.aui-it{font-style:italic}.aui-c-default{color:var(--aui-color-default)}.aui-c-muted{color:var(--aui-color-muted)}.aui-c-inherit{color:inherit}.aui-c-transparent{color:rgba(0,0,0,0)}.aui-bg-default{background-color:var(--aui-default-background)}.aui-bg-muted{background-color:var(--aui-static-background)}.aui-bg-inherit{background-color:inherit}.aui-bg-transparent{background-color:rgba(0,0,0,0)}.aui-ov-auto{overflow:auto}.aui-ov-hidden{overflow:hidden}.aui-ov-x-auto{overflow-x:auto}.aui-ov-x-hidden{overflow-x:hidden}.aui-ov-y-auto{overflow-y:auto}.aui-ov-y-hidden{overflow-y:hidden}.aui-z-auto{z-index:auto}.aui-z-floating{z-index:100}.aui-z-nav{z-index:1000}.aui-z-max{z-index:10000}.aui-cursor-auto{cursor:auto}.aui-cursor-pointer{cursor:pointer}
package/types/common.d.ts CHANGED
@@ -4,7 +4,7 @@ export type ReadonlyableArray<T> = readonly T[] | T[];
4
4
  /** React children, single or many */
5
5
  export type Children = React.ReactNode | ReadonlyableArray<React.ReactNode>;
6
6
  /** Content type used for UI styling */
7
- export type ContentType = "error" | "info" | "static" | "success" | "warning";
7
+ export type SignalType = "error" | "info" | "static" | "success" | "warning";
8
8
  /** Inline CSS style */
9
9
  export type Style = React.CSSProperties;
10
10
  /** Size presets for full/fitted layouts */
@@ -15,14 +15,7 @@ type SpacingSize = "none" | SizeToken;
15
15
  type AutoSize = "auto" | SpacingSize;
16
16
  type Color = "default" | "inherit" | "muted" | "transparent";
17
17
  type Overflow = "auto" | "hidden";
18
- /**
19
- * Custom styling props that map to class names.
20
- * This is meant for consistent, token-based styling instead of inline CSS.
21
- * Keys are converted to class names and applied to the element.
22
- *
23
- * @example <ui.span vfx={{ axis: "y", gap: "m", padding: "m" }} />
24
- * @example <Box vfx={{ radius: "rounded", shadow: "subtle", border: true }} />
25
- */
18
+ /** Custom styling tokens that map to class names */
26
19
  export type Vfx = {
27
20
  /** Alignment orthogonal to the selected axis (Equivalent to align-items) */
28
21
  align?: "center" | "end" | "start";
@@ -35,7 +28,7 @@ export type Vfx = {
35
28
  /** Border bottom */
36
29
  borderBottom?: boolean;
37
30
  /** Border thickness */
38
- borderWidth?: SpacingSize;
31
+ borderWidth?: "none" | "xs" | "s" | "m" | "l";
39
32
  /** Border type */
40
33
  borderStyle?: "dashed" | "dotted" | "none" | "solid";
41
34
  /** Border color */
@@ -58,12 +51,16 @@ export type Vfx = {
58
51
  gap?: SpacingSize;
59
52
  /** Height of the content */
60
53
  height?: SizeDimension;
54
+ /** Styles to apply on hover when element is not disabled */
55
+ hover?: "dim" | "undim" | "shade";
61
56
  /** Text alignment */
62
57
  textAlign?: "center" | "left" | "right";
63
58
  /** Use italics */
64
- italics?: boolean;
59
+ italics?: true;
65
60
  /** How to space the children (Equivalent to justify-content) */
66
61
  justify?: "around" | "between" | "center" | "end" | "start";
62
+ /** Options for line height size */
63
+ lineHeight?: "s" | "m" | "l";
67
64
  /** Margin outside the content */
68
65
  margin?: AutoSize;
69
66
  /** Bottom margin outside the content */
@@ -119,7 +116,7 @@ export type Vfx = {
119
116
  /** Width of the content */
120
117
  width?: SizeDimension;
121
118
  /** Whether to allow wrapping of children */
122
- wrap?: boolean;
119
+ wrap?: true;
123
120
  /** Z-index to position the element at */
124
121
  z?: "auto" | "floating" | "max" | "nav";
125
122
  };
@@ -1,28 +1,16 @@
1
1
  /** Location object of the current URL */
2
2
  export type Location = {
3
- /**
4
- * URL hash
5
- * @example "#home"
6
- */
3
+ /** URL hash */
7
4
  hash: string;
8
- /**
9
- * URL pathname
10
- * @example "/movies/123"
11
- */
5
+ /** URL pathname */
12
6
  pathname: string;
13
- /**
14
- * URL search
15
- * @example "?q=inception"
16
- */
7
+ /** URL search */
17
8
  search: string;
18
9
  };
19
10
  export type HistoryMode = "push" | "replace";
20
11
  /** Additional params to feed the navigate() function */
21
12
  export type NavigateOptions = {
22
- /**
23
- * Whether to append a new entry or overwrite the current browser URL in history.
24
- * @default "push"
25
- */
13
+ /** Whether to append a new entry or overwrite the current browser URL in history */
26
14
  historyMode?: HistoryMode;
27
15
  };
28
16
  /** A function to handle page navigation either to a destination URL or relative to browser history */
@@ -34,22 +22,15 @@ export type Navigate = {
34
22
  (to: string, options?: NavigateOptions): void;
35
23
  /**
36
24
  * Navigate relative to the browser history stack.
37
- * Positive values go forward, negative values go backward.
38
25
  * @example navigate(-1)
39
26
  */
40
27
  (historyOffset: number): void;
41
28
  };
42
- /**
43
- * Object containing params from the pathname.
44
- * @example `{id: "1"}` for `/movie/:id <=> /movie/1`
45
- */
29
+ /** Params from the pathname */
46
30
  export type PathParams = {
47
31
  [key: string]: string | undefined;
48
32
  };
49
- /**
50
- * Object containing params from the search string.
51
- * @example `{id: "1", movies: ["inception", "alien"]}` for `"?id=1&movies=inception&movies=alien"`
52
- */
33
+ /** Params from the search string */
53
34
  export type SearchParams = {
54
35
  [key: string]: string | string[] | undefined;
55
36
  };
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import type { ContentType } from "../../types/common";
3
- import { type BoxProps } from "../Box/Box";
4
- type Props = BoxProps & {
5
- /** The type of alert to display */
6
- type: ContentType;
7
- };
8
- /** A styled container for status messages */
9
- declare const Alert: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- export default Alert;
@@ -1 +0,0 @@
1
- import{jsx as c}from"react/jsx-runtime";import i from"react";import l from"../../functions/classNames";import m from"../Box/Box";var o=function(){return o=Object.assign||function(t){for(var a,n=1,r=arguments.length;n<r;n++){a=arguments[n];for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&(t[e]=a[e])}return t},o.apply(this,arguments)},s=function(t,a){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&a.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,r=Object.getOwnPropertySymbols(t);e<r.length;e++)a.indexOf(r[e])<0&&Object.prototype.propertyIsEnumerable.call(t,r[e])&&(n[r[e]]=t[r[e]]);return n},p=i.forwardRef(function(t,a){var n=t.type,r=t.vfx,e=t.className,f=s(t,["type","vfx","className"]);return c(m,o({},f,{vfx:o({radius:"rounded",fontWeight:4,padding:"m"},r),className:l("aui-alert aui-content-".concat(n),e),ref:a}))}),O=p;export{O as default};
@@ -1 +0,0 @@
1
- export { default } from "./Alert";
@@ -1 +0,0 @@
1
- import{default as o}from"./Alert";export{o as default};
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import type { ContentType } from "../../types/common";
3
- import { type BoxProps } from "../Box/Box";
4
- type Props = BoxProps & {
5
- /** The type of badge to display */
6
- type: ContentType;
7
- };
8
- /** A small label for status */
9
- declare const Badge: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- export default Badge;
@@ -1 +0,0 @@
1
- import{jsx as i}from"react/jsx-runtime";import c from"react";import p from"../../functions/classNames";import l from"../Box/Box";var o=function(){return o=Object.assign||function(t){for(var a,n=1,r=arguments.length;n<r;n++){a=arguments[n];for(var e in a)Object.prototype.hasOwnProperty.call(a,e)&&(t[e]=a[e])}return t},o.apply(this,arguments)},s=function(t,a){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&a.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,r=Object.getOwnPropertySymbols(t);e<r.length;e++)a.indexOf(r[e])<0&&Object.prototype.propertyIsEnumerable.call(t,r[e])&&(n[r[e]]=t[r[e]]);return n},m=c.forwardRef(function(t,a){var n=t.type,r=t.className,e=t.vfx,f=s(t,["type","className","vfx"]);return i(l,o({},f,{vfx:o({radius:"rounded",paddingY:"xxs",paddingX:"xs",fontWeight:5,fontSize:"s",width:"fit"},e),className:p("aui-badge aui-content-".concat(n),r),ref:a}))}),v=m;export{v as default};
@@ -1 +0,0 @@
1
- export { default } from "./Badge";
@@ -1 +0,0 @@
1
- import{default as o}from"./Badge";export{o as default};
@@ -1,10 +0,0 @@
1
- import React from "react";
2
- import type { ContentType } from "../../types/common";
3
- import { type BoxProps } from "../Box/Box";
4
- type Props = BoxProps & {
5
- /** The type of banner to display */
6
- type: ContentType;
7
- };
8
- /** A full-width banner for page-level messages */
9
- declare const Banner: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- export default Banner;
@@ -1 +0,0 @@
1
- import{jsx as l}from"react/jsx-runtime";import c from"react";import i from"../../functions/classNames";import p from"../Box/Box";var o=function(){return o=Object.assign||function(t){for(var n,a=1,r=arguments.length;a<r;a++){n=arguments[a];for(var e in n)Object.prototype.hasOwnProperty.call(n,e)&&(t[e]=n[e])}return t},o.apply(this,arguments)},s=function(t,n){var a={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&n.indexOf(r)<0&&(a[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,r=Object.getOwnPropertySymbols(t);e<r.length;e++)n.indexOf(r[e])<0&&Object.prototype.propertyIsEnumerable.call(t,r[e])&&(a[r[e]]=t[r[e]]);return a},m=c.forwardRef(function(t,n){var a=t.type,r=t.className,e=t.vfx,f=s(t,["type","className","vfx"]);return l(p,o({},f,{vfx:o({fontWeight:4,paddingY:"l",paddingX:"xl",width:"full"},e),className:i("aui-content-".concat(a),r),ref:n}))}),O=m;export{O as default};
@@ -1 +0,0 @@
1
- export { default } from "./Banner";
@@ -1 +0,0 @@
1
- import{default as o}from"./Banner";export{o as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A double-bar "cross" hamburger */
3
- declare const DoubleCross: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default DoubleCross;
@@ -1 +0,0 @@
1
- import{jsx as u}from"react/jsx-runtime";import{useMemo as c}from"react";import m,{defaultAngles as p}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},s=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=s(r,["direction"]),e=c(function(){var f=p[n],i="rotate(".concat(f,"deg)"),l="rotate(".concat(-f,"deg)");return{top:{transform:i},bottom:{transform:l}}},[n]);return u(m,a({},t,{double:!0,openStyle:e}))},O=g;export{O as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A double-bar "flip" hamburger */
3
- declare const DoubleFlip: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default DoubleFlip;
@@ -1 +0,0 @@
1
- import{jsx as u}from"react/jsx-runtime";import{useMemo as s}from"react";import m,{flipAngles as p}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},c=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=c(r,["direction"]),e=s(function(){var f=p[n],i="rotate(".concat(f,"deg)"),l="rotate(".concat(-f,"deg)");return{top:{transform:i},bottom:{transform:l}}},[n]);return u(m,a({},t,{double:!0,openStyle:e}))},O=g;export{O as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A double-bar "spin" hamburger */
3
- declare const DoubleSpin: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default DoubleSpin;
@@ -1 +0,0 @@
1
- import{jsx as c}from"react/jsx-runtime";import{useMemo as s}from"react";import m,{defaultAngles as p}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},l=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=l(r,["direction"]),e=s(function(){var f=p[n],i="rotate(".concat(f,"deg)"),u="rotate(".concat(-f,"deg)");return{top:{transform:i},bottom:{transform:u},outer:{transform:"rotate(180deg)"}}},[n]);return c(m,a({},t,{double:!0,openStyle:e}))},d=g;export{d as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A three-bar hamburger that fades the middle bar */
3
- declare const TripleFade: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default TripleFade;
@@ -1 +0,0 @@
1
- import{jsx as m}from"react/jsx-runtime";import{useMemo as s}from"react";import p,{defaultAngles as u}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},l=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=l(r,["direction"]),e=s(function(){var i=u[n],f="rotate(".concat(i,"deg)"),c="rotate(".concat(-i,"deg)");return{top:{transform:f},middle:{opacity:0},bottom:{transform:c}}},[n]);return m(p,a({},t,{openStyle:e}))},b=g;export{b as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A three-bar "flip" hamburger */
3
- declare const TripleFlip: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default TripleFlip;
@@ -1 +0,0 @@
1
- import{jsx as s}from"react/jsx-runtime";import{useMemo as m}from"react";import p,{flipAngles as u}from"./Hamburger";var a=function(){return a=Object.assign||function(t){for(var o,n=1,r=arguments.length;n<r;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(t[e]=o[e])}return t},a.apply(this,arguments)},c=function(t,o){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&o.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,r=Object.getOwnPropertySymbols(t);e<r.length;e++)o.indexOf(r[e])<0&&Object.prototype.propertyIsEnumerable.call(t,r[e])&&(n[r[e]]=t[r[e]]);return n},g=function(t){var o=t.direction,n=o===void 0?"left":o,r=c(t,["direction"]),e=m(function(){var i=u[n],f="rotate(".concat(i,"deg)"),l="rotate(".concat(-i,"deg)");return{top:{transform:f},middle:{transform:"scale(0)"},bottom:{transform:l}}},[n]);return s(p,a({},r,{openStyle:e}))},O=g;export{O as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** The default hamburger */
3
- declare const TriplePrestige: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default TriplePrestige;
@@ -1 +0,0 @@
1
- import{jsx as c}from"react/jsx-runtime";import{useMemo as m}from"react";import u,{defaultAngles as p}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},s=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=s(r,["direction"]),e=m(function(){var f=p[n],i="rotate(".concat(f,"deg)"),l="rotate(".concat(-f,"deg)");return{top:{transform:i},middle:{transform:"scale(0)"},bottom:{transform:l}}},[n]);return c(u,a({},t,{openStyle:e}))},d=g;export{d as default};
@@ -1,4 +0,0 @@
1
- import { type Props } from "./Hamburger";
2
- /** A three-bar "spin" hamburger */
3
- declare const TripleSpin: (props: Props) => import("react/jsx-runtime").JSX.Element;
4
- export default TripleSpin;
@@ -1 +0,0 @@
1
- import{jsx as m}from"react/jsx-runtime";import{useMemo as s}from"react";import p,{defaultAngles as u}from"./Hamburger";var a=function(){return a=Object.assign||function(r){for(var o,n=1,t=arguments.length;n<t;n++){o=arguments[n];for(var e in o)Object.prototype.hasOwnProperty.call(o,e)&&(r[e]=o[e])}return r},a.apply(this,arguments)},l=function(r,o){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&o.indexOf(t)<0&&(n[t]=r[t]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var e=0,t=Object.getOwnPropertySymbols(r);e<t.length;e++)o.indexOf(t[e])<0&&Object.prototype.propertyIsEnumerable.call(r,t[e])&&(n[t[e]]=r[t[e]]);return n},g=function(r){var o=r.direction,n=o===void 0?"left":o,t=l(r,["direction"]),e=s(function(){var i=u[n],f="rotate(".concat(i,"deg)"),c="rotate(".concat(-i,"deg)");return{top:{transform:f},middle:{opacity:0},bottom:{transform:c},outer:{transform:"rotate(180deg)"}}},[n]);return m(p,a({},t,{openStyle:e}))},b=g;export{b as default};