@accelint/design-toolkit 5.2.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/catalog-info.yaml +44 -0
  2. package/dist/components/accordion/index.js +1 -1
  3. package/dist/components/accordion/index.js.map +1 -1
  4. package/dist/components/accordion/styles.d.ts +3 -3
  5. package/dist/components/accordion/styles.js +1 -1
  6. package/dist/components/accordion/styles.js.map +1 -1
  7. package/dist/components/action-bar/index.d.ts +11 -0
  8. package/dist/components/action-bar/index.js.map +1 -1
  9. package/dist/components/breadcrumbs/index.d.ts +12 -0
  10. package/dist/components/breadcrumbs/index.js.map +1 -1
  11. package/dist/components/button/styles.js +1 -1
  12. package/dist/components/button/styles.js.map +1 -1
  13. package/dist/components/clock/index.d.ts +39 -0
  14. package/dist/components/clock/index.js +4 -0
  15. package/dist/components/clock/index.js.map +1 -0
  16. package/dist/components/clock/types.d.ts +7 -0
  17. package/dist/components/clock/types.js +2 -0
  18. package/dist/components/clock/types.js.map +1 -0
  19. package/dist/components/combobox-field/index.d.ts +11 -0
  20. package/dist/components/combobox-field/index.js.map +1 -1
  21. package/dist/components/combobox-field/styles.js +1 -1
  22. package/dist/components/combobox-field/styles.js.map +1 -1
  23. package/dist/components/dialog/index.js +1 -1
  24. package/dist/components/dialog/index.js.map +1 -1
  25. package/dist/components/drawer/index.d.ts +36 -1
  26. package/dist/components/drawer/index.js +1 -1
  27. package/dist/components/drawer/index.js.map +1 -1
  28. package/dist/components/lines/index.d.ts +9 -0
  29. package/dist/components/lines/index.js.map +1 -1
  30. package/dist/components/link/index.d.ts +9 -0
  31. package/dist/components/link/index.js.map +1 -1
  32. package/dist/components/link/styles.js +1 -1
  33. package/dist/components/link/styles.js.map +1 -1
  34. package/dist/components/notice/events.d.ts +10 -0
  35. package/dist/components/notice/events.js +2 -0
  36. package/dist/components/notice/events.js.map +1 -0
  37. package/dist/components/notice/index.d.ts +20 -0
  38. package/dist/components/notice/index.js +4 -0
  39. package/dist/components/notice/index.js.map +1 -0
  40. package/dist/components/notice/styles.d.ts +60 -0
  41. package/dist/components/notice/styles.js +2 -0
  42. package/dist/components/notice/styles.js.map +1 -0
  43. package/dist/components/notice/types.d.ts +75 -0
  44. package/dist/components/notice/types.js +2 -0
  45. package/dist/components/notice/types.js.map +1 -0
  46. package/dist/components/query-builder/index.js +1 -1
  47. package/dist/components/query-builder/index.js.map +1 -1
  48. package/dist/components/sidenav/index.d.ts +56 -0
  49. package/dist/components/sidenav/index.js +1 -1
  50. package/dist/components/sidenav/index.js.map +1 -1
  51. package/dist/components/slider/index.js +1 -1
  52. package/dist/components/slider/index.js.map +1 -1
  53. package/dist/components/slider/styles.js +1 -1
  54. package/dist/components/slider/styles.js.map +1 -1
  55. package/dist/components/table/index.d.ts +9 -0
  56. package/dist/components/table/index.js +1 -1
  57. package/dist/components/table/index.js.map +1 -1
  58. package/dist/components/tabs/styles.js +1 -1
  59. package/dist/components/tabs/styles.js.map +1 -1
  60. package/dist/components/time-field/index.d.ts +9 -0
  61. package/dist/components/time-field/index.js.map +1 -1
  62. package/dist/components/tooltip/index.d.ts +23 -34
  63. package/dist/components/tooltip/index.js +1 -1
  64. package/dist/components/tooltip/index.js.map +1 -1
  65. package/dist/components/tooltip/types.d.ts +5 -6
  66. package/dist/components/tree/index.d.ts +22 -1
  67. package/dist/components/tree/index.js +1 -1
  68. package/dist/components/tree/index.js.map +1 -1
  69. package/dist/components/tree/styles.js +1 -1
  70. package/dist/components/tree/styles.js.map +1 -1
  71. package/dist/components/view-stack/index.d.ts +42 -2
  72. package/dist/components/view-stack/index.js +1 -1
  73. package/dist/components/view-stack/index.js.map +1 -1
  74. package/dist/index.css +5 -3
  75. package/dist/index.d.ts +12 -5
  76. package/dist/index.js +1 -1
  77. package/dist/metafile-esm.json +1 -1
  78. package/dist/providers/portal.d.ts +9 -0
  79. package/dist/providers/portal.js +2 -0
  80. package/dist/providers/portal.js.map +1 -0
  81. package/dist/providers/theme-provider.d.ts +6 -6
  82. package/dist/providers/theme-provider.js +1 -1
  83. package/dist/providers/theme-provider.js.map +1 -1
  84. package/dist/styles.css +372 -128
  85. package/package.json +33 -17
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/button/styles.ts"],"names":["BaseButtonStyles","e"],"mappings":"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","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ButtonStylesDefaults = {\n variant: 'filled',\n} as const;\n\nconst BaseButtonStyles = tv({\n base: [\n 'group/button flex w-content cursor-pointer items-center justify-center rounded-medium outline outline-transparent',\n 'disabled:cursor-not-allowed',\n 'size-large:min-w-[96px] size-large:gap-xs size-large:px-l size-large:py-s size-large:text-button-l',\n 'size-medium:min-w-[68px] size-medium:gap-xs size-medium:px-m size-medium:py-xs size-medium:text-button-m',\n 'size-small:min-w-[54px] size-small:gap-xxs size-small:px-s size-small:py-xs size-small:text-button-s',\n 'size-xsmall:min-w-[41px] size-xsmall:gap-xxs size-xsmall:p-xs size-xsmall:text-button-xs',\n 'transition-colors duration-[80ms]',\n ],\n variants: {\n variant: {\n filled: [\n 'disabled:fg-disabled disabled:bg-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-interactive-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-primary-muted enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-inverse-bold enabled:color-mono-bold:bg-interactive-bold',\n 'enabled:hover:color-mono-bold:fg-disabled enabled:hover:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:focus-visible:color-mono-bold:fg-disabled enabled:focus-visible:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:pressed:color-mono-bold:fg-inverse-muted enabled:pressed:color-mono-bold:bg-interactive-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-a11y-on-accent enabled:color-accent:bg-accent-primary-bold',\n 'enabled:hover:color-accent:bg-accent-primary-hover',\n 'enabled:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-a11y-on-utility enabled:color-serious:bg-serious-bold',\n 'enabled:hover:color-serious:bg-serious-hover',\n 'enabled:focus-visible:color-serious:bg-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-a11y-on-utility enabled:color-critical:bg-critical-bold',\n 'enabled:hover:color-critical:bg-critical-hover',\n 'enabled:focus-visible:color-critical:bg-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed',\n ],\n outline: [\n 'disabled:fg-disabled disabled:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-transparent enabled:color-mono-muted:outline enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover enabled:hover:color-mono-muted:outline-2 enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:focus-visible:color-mono-muted:outline-2 enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:pressed:color-mono-muted:outline-2 enabled:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-transparent enabled:color-mono-bold:outline enabled:color-mono-bold:outline-mono-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover enabled:hover:color-mono-bold:outline-2 enabled:hover:color-mono-bold:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:focus-visible:color-mono-bold:outline-2 enabled:focus-visible:color-mono-bold:outline-interactive-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:pressed:color-mono-bold:outline-2 enabled:pressed:color-mono-bold:outline-mono-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent enabled:color-accent:outline enabled:color-accent:outline-accent-primary-bold',\n 'enabled:hover:color-accent:fg-a11y-on-accent enabled:hover:color-accent:bg-accent-primary-hover enabled:hover:color-accent:outline-2 enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible::color-accent:fg-a11y-on-accent enabled:focus-visible:color-accent:bg-accent-primary-hover enabled:focus-visible:color-accent:outline-2 enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed enabled:pressed:color-accent:outline-2 enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-primary-bold enabled:color-serious:bg-transparent enabled:color-serious:outline enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-a11y-on-accent enabled:hover:color-serious:bg-serious-hover enabled:hover:color-serious:outline-2 enabled:hover:color-serious:outline-serious-hover',\n 'enabled:focus-visible:color-serious:fg-a11y-on-accent enabled:focus-visible:color-serious:bg-serious-hover enabled:focus-visible:color-serious:outline-2 enabled:focus-visible:color-serious:outline-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed enabled:pressed:color-serious:outline-2 enabled:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-primary-bold enabled:color-critical:bg-transparent enabled:color-critical:outline enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-a11y-on-accent enabled:hover:color-critical:bg-critical-hover enabled:hover:color-critical:outline-2 enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-a11y-on-accent enabled:focus-visible:color-critical:bg-critical-hover enabled:focus-visible:color-critical:outline-2 enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed enabled:pressed:color-critical:outline-2 enabled:pressed:color-critical:outline-critical-pressed',\n ],\n flat: [\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold',\n 'enabled:hover:color-accent:fg-a11y-on-accent enabled:hover:color-accent:bg-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-a11y-on-accent enabled:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-a11y-on-accent enabled:hover:color-serious:bg-serious-hover',\n 'enabled:focus-visible:color-serious:fg-a11y-on-accent enabled:focus-visible:color-serious:bg-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-a11y-on-accent enabled:hover:color-critical:bg-critical-hover',\n 'enabled:focus-visible:color-critical:fg-a11y-on-accent enabled:focus-visible:color-critical:bg-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed',\n ],\n icon: [\n 'size-small:rounded-small size-xsmall:rounded-small size-large:p-xs size-medium:p-xs size-small:p-xxs size-xsmall:p-xxs',\n 'size-large:min-w-xxl size-large:max-w-xxl',\n 'size-medium:min-w-[28px] size-medium:max-w-[28px]',\n 'size-small:min-w-xl size-small:max-w-xl',\n 'size-xsmall:min-w-[20px] size-xsmall:max-w-[20px]',\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-interactive-muted-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-interactive-muted-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-interactive-muted-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-interactive-muted-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-interactive-muted-pressed',\n ],\n floating: [\n 'rounded-full',\n 'size-large:p-xs size-medium:p-xs size-small:p-xxs size-xsmall:p-xxs',\n 'size-large:min-w-xxl size-large:max-w-xxl',\n 'size-medium:min-w-[28px] size-medium:max-w-[28px]',\n 'size-small:min-w-xl size-small:max-w-xl',\n 'size-xsmall:min-w-[20px] size-xsmall:max-w-[20px]',\n 'disabled:fg-disabled disabled:bg-interactive-disabled disabled:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted enabled:color-mono-muted:bg-surface-default enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:fg-primary-hover enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:fg-primary-hover enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-surface-default enabled:color-mono-bold:outline-interactive',\n 'enabled:hover:color-mono-bold:fg-primary-hover enabled:hover:color-mono-bold:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-bold:fg-primary-hover enabled:focus-visible:color-mono-bold:outline-interactive-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold enabled:color-accent:bg-accent-primary-bold enabled:color-accent:outline-accent-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold enabled:color-serious:bg-serious-muted enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:outline-interactive-hover',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:outline-interactive-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-interactive-muted-pressed enabled:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold enabled:color-critical:bg-critical-muted enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-critiical-hover enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-critiical-hover enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-interactive-muted-pressed enabled:pressed:color-critical:outline-critical-pressed',\n ],\n },\n },\n defaultVariants: ButtonStylesDefaults,\n});\n\nexport const ButtonStyles = tv({\n extend: BaseButtonStyles,\n});\n\nexport const LinkButtonStyles = tv({\n extend: BaseButtonStyles,\n});\n\nexport const ToggleButtonStyles = tv({\n extend: BaseButtonStyles,\n base: [\n 'enabled:color-accent:fg-accent-primary-bold enabled:color-accent:bg-transparent',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n ],\n variants: {\n variant: {\n flat: [\n 'disabled:fg-disabled disabled:bg-transparent',\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled disabled:selected:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted enabled:color-mono-muted:bg-transparent',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Muted - Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted enabled:selected:color-mono-muted:outline enabled:selected:color-mono-muted:outline-interactive-hover',\n 'enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover enabled:selected:hover:color-mono-muted:outline-2',\n 'enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-muted:outline-2',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-muted:outline-2 enabled:selected:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-primary-bold enabled:selected:color-mono-bold:outline enabled:selected:color-mono-bold:outline-mono-bold',\n 'enabled:selected:hover:color-mono-bold:fg-hover enabled:selected:hover:color-mono-bold:bg-interactive-muted-hover enabled:selected:hover:color-mono-bold:outline-2 enabled:selected:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-bold:outline-2 enabled:selected:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-bold:outline-2 enabled:selected:pressed:color-mono-bold:outline-interactive-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-a11y-on-accent enabled:selected:color-accent:bg-accent-primary-bold enabled:color-accent:outline enabled:selected:color-accent:outline-accent-primary-bold',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover enabled:selected:hover:color-accent:outline-2 enabled:selected:hover:color-accent:outline-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover enabled:selected:focus-visible:color-accent:outline-2 enabled:selected:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-bold enabled:selected:pressed:color-accent:bg-accent-primary-pressed enabled:selected:pressed:color-accent:outline-2 enabled:selected:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold enabled:color-serious:bg-transparent',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-serious-bold',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-serious-muted',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-primary-bold enabled:selected:color-serious:bg-serious-muted enabled:selected:color-serious:outline enabled:selected:color-serious:outline-serious-bold',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover enabled:selected:hover:color-serious:outline-2 enabled:selected:hover:color-serious:outline-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover enabled:selected:focus-visible:color-serious:outline-2 enabled:selected:focus-visible:color-serious:outline-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed enabled:selected:pressed:color-serious:outline-2 enabled:selected:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold enabled:color-critical:bg-transparent',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-critical-muted',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-critical-muted',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-primary-bold enabled:selected:color-critical:bg-critical-muted enabled:selected:color-critical:outline enabled:selected:color-critical:outline-critical-bold',\n 'enabled:selected:hover:color-critical:fg-a11y-on-accent enabled:selected:hover:color-critical:bg-critical-hover enabled:selected:hover:color-critical:outline-2',\n 'enabled:selected:focus-visible:color-critical:fg-a11y-on-accent enabled:selected:focus-visible:color-critical:bg-critical-hover enabled:selected:focus-visible:color-critical:outline-2',\n 'enabled:selected:pressed:color-critical:fg-critical-bold enabled:selected:pressed:color-critical:bg-critical-pressed enabled:selected:pressed:color-critical:outline-2 enabled:selected:pressed:color-critical:outline-critical-pressed',\n ],\n outline: [\n 'disabled: disabled:fg-disabled outline-interactive-disabled disabled:bg-transparent',\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled disabled:selected:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-transparent enabled:color-mono-muted:outline enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover enabled:hover:color-mono-muted:outline-2 enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:focus-visible:color-mono-muted:outline-2 enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:pressed:color-mono-muted:outline-2 enabled:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Muted - Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted enabled:selected:color-mono-muted:outline enabled:selected:color-mono-muted:outline-interactive-hover',\n 'enabled:selected:hover:color-mono-muted:fg-hover enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover enabled:selected:hover:color-mono-muted:outline-2',\n 'enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-muted:outline-2',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-muted:outline-2 enabled:selected:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-transparent enabled:color-mono-bold:outline enabled:color-mono-bold:outline-mono-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover enabled:hover:color-mono-bold:outline-2 enabled:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:focus-visible:color-mono-bold:outline-2 enabled:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-primary-bold enabled:selected:color-mono-bold:bg-interactive-muted-hover enabled:selected:color-mono-bold:outline enabled:selected:color-mono-bold:outline-mono-bold',\n 'enabled:selected:hover:color-mono-bold:fg-inverse-bold enabled:selected:hover:color-mono-bold:bg-interactive-bold-hover enabled:selected:hover:color-mono-bold:outline-2 enabled:selected:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:fg-inverse-bold enabled:selected:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-bold:outline-2 enabled:selected:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-bold:outline-2 enabled:selected:pressed:color-mono-bold:outline-mono-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent enabled:color-accent:outline enabled:color-accent:outline-mono-bold',\n 'enabled:hover:color-accent:fg-hover enabled:hover:color-accent:bg-accent-primary-muted enabled:hover:color-accent:outline-2 enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-hover enabled:focus-visible:color-accent:bg-accent-primary-muted enabled:focus-visible:color-accent:outline-2 enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed enabled:pressed:color-accent:outline-2 enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-primary-bold enabled:selected:color-accent:bg-accent-primary-muted enabled:color-accent:outline enabled:selected:color-accent:outline-accent-primary-bold',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover enabled:selected:hover:color-accent:outline-2 enabled:selected:hover:color-accent:outline-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover enabled:selected:focus-visible:color-accent:outline-2 enabled:selected:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-pressed enabled:selected:pressed:color-accent:bg-accent-primary-pressed enabled:selected:pressed:color-accent:outline-2 enabled:selected:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-primary-bold enabled:color-serious:bg-transparent enabled:color-serious:outline enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-primary-bold enabled:hover:color-serious:bg-serious-bold enabled:hover:color-serious:outline-2 enabled:hover:color-serious:outline-serious-hover',\n 'enabled:focus-visible:color-serious:fg-primary-bold enabled:focus-visible:color-serious:bg-serious-muted enabled:focus-visible:color-serious:outline-2 enabled:focus-visible:color-serious:outline-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed enabled:pressed:color-serious:outline-2 enabled:pressed:color-serious:outline-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-serious-bold enabled:selected:color-serious:bg-serious-muted enabled:selected:color-serious:outline-serious-muted',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover enabled:selected:hover:color-serious:outline-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover enabled:selected:focus-visible:color-serious:outline-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed enabled:selected:pressed:color-serious:outline-2 enabled:selected:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-primary-bold enabled:color-critical:bg-transparent enabled:color-critical:outline enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-primary-bold enabled:hover:color-critical:bg-critical-bold enabled:hover:color-critical:outline-2 enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-primary-bold enabled:focus-visible:color-critical:bg-critical-muted enabled:focus-visible:color-critical:outline-2 enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed enabled:pressed:color-critical:outline-2 enabled:pressed:color-critical:outline-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-critical-bold enabled:selected:color-critical:bg-critical-muted enabled:selected:color-critical:outline-critical-muted',\n 'enabled:selected:hover:color-critical:fg-primary-bold enabled:selected:hover:color-critical:bg-critical-hover enabled:selected:hover:color-critical:outline-critical-hover',\n 'enabled:selected:focus-visible:color-critical:fg-primary-bold enabled:selected:focus-visible:color-critical:bg-critical-hover enabled:selected:focus-visible:color-critical:outline-critical-hover',\n 'enabled:selected:pressed:color-critical:fg-critical-pressed enabled:selected:pressed:color-critical:bg-critical-pressed enabled:selected:pressed:color-critical:outline-2 enabled:selected:pressed:color-critical:outline-critical-pressed',\n ],\n icon: [\n 'size-small:rounded-small size-xsmall:rounded-small size-large:p-xs size-medium:p-xs size-small:p-xxs size-xsmall:p-xxs',\n 'size-large:min-w-xxl size-large:max-w-xxl',\n 'size-medium:min-w-[28px] size-medium:max-w-[28px]',\n 'size-small:min-w-xl size-small:max-w-xl',\n 'size-xsmall:min-w-[20px] size-xsmall:max-w-[20px]',\n\n // Disabled\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Disabled - Selected\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Muted-Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted',\n 'enabled:selected:hover:color-mono-muted:fg-primary-bold enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:selected:focus-visible:color-mono-muted:fg-primary-bold enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-inverse-bold enabled:selected:color-mono-bold:bg-interactive-bold',\n 'enabled:selected:hover:color-mono-bold:fg-inverse-bold enabled:selected:hover:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-accent-primary-hover enabled:selected:color-accent:bg-accent-primary-muted',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-pressed enabled:selected:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-serious-muted',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-serious-muted',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-serious-bold enabled:selected:color-serious:bg-serious-muted',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-critical-muted',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-critical-muted',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-critical-bold enabled:selected:color-critical:bg-critical-muted',\n 'enabled:selected:hover:color-critical:fg-a11y-on-accent enabled:selected:hover:color-critical:bg-critical-hover',\n 'enabled:selected:focus-visible:color-critical:fg-a11y-on-accent enabled:selected:focus-visible:color-critical:bg-critical-hover',\n 'enabled:selected:pressed:color-critical:fg-critical-pressed enabled:selected:pressed:color-critical:bg-critical-pressed',\n ],\n },\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/button/styles.ts"],"names":["BaseButtonStyles","e"],"mappings":"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","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ButtonStylesDefaults = {\n variant: 'filled',\n} as const;\n\nconst BaseButtonStyles = tv({\n base: [\n 'group/button flex w-content shrink-0 cursor-pointer items-center justify-center rounded-medium outline outline-transparent',\n 'disabled:cursor-not-allowed',\n 'size-large:min-w-[96px] size-large:gap-xs size-large:px-l size-large:py-s size-large:text-button-l',\n 'size-medium:min-w-[68px] size-medium:gap-xs size-medium:px-m size-medium:py-xs size-medium:text-button-m',\n 'size-small:min-w-[54px] size-small:gap-xxs size-small:px-s size-small:py-xs size-small:text-button-s',\n 'size-xsmall:min-w-[41px] size-xsmall:gap-xxs size-xsmall:p-xs size-xsmall:text-button-xs',\n ],\n variants: {\n variant: {\n filled: [\n 'disabled:fg-disabled disabled:bg-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-interactive-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-primary-muted enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-inverse-bold enabled:color-mono-bold:bg-interactive-bold',\n 'enabled:hover:color-mono-bold:fg-disabled enabled:hover:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:focus-visible:color-mono-bold:fg-disabled enabled:focus-visible:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:pressed:color-mono-bold:fg-inverse-muted enabled:pressed:color-mono-bold:bg-interactive-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-a11y-on-accent enabled:color-accent:bg-accent-primary-bold',\n 'enabled:hover:color-accent:bg-accent-primary-hover',\n 'enabled:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-a11y-on-utility enabled:color-serious:bg-serious-bold',\n 'enabled:hover:color-serious:bg-serious-hover',\n 'enabled:focus-visible:color-serious:bg-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-a11y-on-utility enabled:color-critical:bg-critical-bold',\n 'enabled:hover:color-critical:bg-critical-hover',\n 'enabled:focus-visible:color-critical:bg-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed',\n ],\n outline: [\n 'disabled:fg-disabled disabled:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-transparent enabled:color-mono-muted:outline enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover enabled:hover:color-mono-muted:outline-2 enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:focus-visible:color-mono-muted:outline-2 enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:pressed:color-mono-muted:outline-2 enabled:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-transparent enabled:color-mono-bold:outline enabled:color-mono-bold:outline-mono-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover enabled:hover:color-mono-bold:outline-2 enabled:hover:color-mono-bold:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:focus-visible:color-mono-bold:outline-2 enabled:focus-visible:color-mono-bold:outline-interactive-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:pressed:color-mono-bold:outline-2 enabled:pressed:color-mono-bold:outline-mono-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent enabled:color-accent:outline enabled:color-accent:outline-accent-primary-bold',\n 'enabled:hover:color-accent:fg-a11y-on-accent enabled:hover:color-accent:bg-accent-primary-hover enabled:hover:color-accent:outline-2 enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible::color-accent:fg-a11y-on-accent enabled:focus-visible:color-accent:bg-accent-primary-hover enabled:focus-visible:color-accent:outline-2 enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed enabled:pressed:color-accent:outline-2 enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-primary-bold enabled:color-serious:bg-transparent enabled:color-serious:outline enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-a11y-on-accent enabled:hover:color-serious:bg-serious-hover enabled:hover:color-serious:outline-2 enabled:hover:color-serious:outline-serious-hover',\n 'enabled:focus-visible:color-serious:fg-a11y-on-accent enabled:focus-visible:color-serious:bg-serious-hover enabled:focus-visible:color-serious:outline-2 enabled:focus-visible:color-serious:outline-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed enabled:pressed:color-serious:outline-2 enabled:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-primary-bold enabled:color-critical:bg-transparent enabled:color-critical:outline enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-a11y-on-accent enabled:hover:color-critical:bg-critical-hover enabled:hover:color-critical:outline-2 enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-a11y-on-accent enabled:focus-visible:color-critical:bg-critical-hover enabled:focus-visible:color-critical:outline-2 enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed enabled:pressed:color-critical:outline-2 enabled:pressed:color-critical:outline-critical-pressed',\n ],\n flat: [\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold',\n 'enabled:hover:color-accent:fg-a11y-on-accent enabled:hover:color-accent:bg-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-a11y-on-accent enabled:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-a11y-on-accent enabled:hover:color-serious:bg-serious-hover',\n 'enabled:focus-visible:color-serious:fg-a11y-on-accent enabled:focus-visible:color-serious:bg-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-a11y-on-accent enabled:hover:color-critical:bg-critical-hover',\n 'enabled:focus-visible:color-critical:fg-a11y-on-accent enabled:focus-visible:color-critical:bg-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed',\n ],\n icon: [\n 'size-large:min-w-0 size-large:p-xs',\n 'size-medium:min-w-0 size-medium:p-xs',\n 'size-small:min-w-0 size-small:rounded-small size-small:p-xxs',\n 'size-xsmall:min-w-0 size-xsmall:rounded-small size-xsmall:p-xxs',\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-interactive-muted-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-interactive-muted-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-interactive-muted-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-interactive-muted-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-interactive-muted-pressed',\n ],\n floating: [\n 'rounded-full',\n 'size-large:min-w-0 size-large:p-xs',\n 'size-medium:min-w-0 size-medium:p-xs',\n 'size-small:min-w-0 size-small:p-xxs',\n 'size-xsmall:min-w-0 size-xsmall:p-xxs',\n 'disabled:fg-disabled disabled:bg-interactive-disabled disabled:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted enabled:color-mono-muted:bg-surface-default enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:fg-primary-hover enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:fg-primary-hover enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-surface-default enabled:color-mono-bold:outline-interactive',\n 'enabled:hover:color-mono-bold:fg-primary-hover enabled:hover:color-mono-bold:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-bold:fg-primary-hover enabled:focus-visible:color-mono-bold:outline-interactive-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-accent-primary-bold enabled:color-accent:bg-accent-primary-bold enabled:color-accent:outline-accent-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold enabled:color-serious:bg-serious-muted enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:outline-interactive-hover',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:outline-interactive-hover',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-interactive-muted-pressed enabled:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold enabled:color-critical:bg-critical-muted enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-critiical-hover enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-critiical-hover enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-interactive-muted-pressed enabled:pressed:color-critical:outline-critical-pressed',\n ],\n },\n },\n defaultVariants: ButtonStylesDefaults,\n});\n\nexport const ButtonStyles = tv({\n extend: BaseButtonStyles,\n});\n\nexport const LinkButtonStyles = tv({\n extend: BaseButtonStyles,\n});\n\nexport const ToggleButtonStyles = tv({\n extend: BaseButtonStyles,\n base: [\n 'enabled:color-accent:fg-accent-primary-bold enabled:color-accent:bg-transparent',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n ],\n variants: {\n variant: {\n flat: [\n 'disabled:fg-disabled disabled:bg-transparent',\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled disabled:selected:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted enabled:color-mono-muted:bg-transparent',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Muted - Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted enabled:selected:color-mono-muted:outline enabled:selected:color-mono-muted:outline-interactive-hover',\n 'enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover enabled:selected:hover:color-mono-muted:outline-2',\n 'enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-muted:outline-2',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-muted:outline-2 enabled:selected:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-primary-bold enabled:selected:color-mono-bold:outline enabled:selected:color-mono-bold:outline-mono-bold',\n 'enabled:selected:hover:color-mono-bold:fg-hover enabled:selected:hover:color-mono-bold:bg-interactive-muted-hover enabled:selected:hover:color-mono-bold:outline-2 enabled:selected:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-bold:outline-2 enabled:selected:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-bold:outline-2 enabled:selected:pressed:color-mono-bold:outline-interactive-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-bold enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-a11y-on-accent enabled:selected:color-accent:bg-accent-primary-bold enabled:color-accent:outline enabled:selected:color-accent:outline-accent-primary-bold',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover enabled:selected:hover:color-accent:outline-2 enabled:selected:hover:color-accent:outline-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover enabled:selected:focus-visible:color-accent:outline-2 enabled:selected:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-bold enabled:selected:pressed:color-accent:bg-accent-primary-pressed enabled:selected:pressed:color-accent:outline-2 enabled:selected:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold enabled:color-serious:bg-transparent',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-serious-bold',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-serious-muted',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-primary-bold enabled:selected:color-serious:bg-serious-muted enabled:selected:color-serious:outline enabled:selected:color-serious:outline-serious-bold',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover enabled:selected:hover:color-serious:outline-2 enabled:selected:hover:color-serious:outline-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover enabled:selected:focus-visible:color-serious:outline-2 enabled:selected:focus-visible:color-serious:outline-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed enabled:selected:pressed:color-serious:outline-2 enabled:selected:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold enabled:color-critical:bg-transparent',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-critical-muted',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-critical-muted',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-primary-bold enabled:selected:color-critical:bg-critical-muted enabled:selected:color-critical:outline enabled:selected:color-critical:outline-critical-bold',\n 'enabled:selected:hover:color-critical:fg-a11y-on-accent enabled:selected:hover:color-critical:bg-critical-hover enabled:selected:hover:color-critical:outline-2',\n 'enabled:selected:focus-visible:color-critical:fg-a11y-on-accent enabled:selected:focus-visible:color-critical:bg-critical-hover enabled:selected:focus-visible:color-critical:outline-2',\n 'enabled:selected:pressed:color-critical:fg-critical-bold enabled:selected:pressed:color-critical:bg-critical-pressed enabled:selected:pressed:color-critical:outline-2 enabled:selected:pressed:color-critical:outline-critical-pressed',\n ],\n outline: [\n 'disabled: disabled:fg-disabled outline-interactive-disabled disabled:bg-transparent',\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled disabled:selected:outline-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-bold enabled:color-mono-muted:bg-transparent enabled:color-mono-muted:outline enabled:color-mono-muted:outline-interactive',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover enabled:hover:color-mono-muted:outline-2 enabled:hover:color-mono-muted:outline-interactive-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:focus-visible:color-mono-muted:outline-2 enabled:focus-visible:color-mono-muted:outline-interactive-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:pressed:color-mono-muted:outline-2 enabled:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Muted - Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted enabled:selected:color-mono-muted:outline enabled:selected:color-mono-muted:outline-interactive-hover',\n 'enabled:selected:hover:color-mono-muted:fg-hover enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover enabled:selected:hover:color-mono-muted:outline-2',\n 'enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-muted:outline-2',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-muted:outline-2 enabled:selected:pressed:color-mono-muted:outline-interactive-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold enabled:color-mono-bold:bg-transparent enabled:color-mono-bold:outline enabled:color-mono-bold:outline-mono-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover enabled:hover:color-mono-bold:outline-2 enabled:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:focus-visible:color-mono-bold:outline-2 enabled:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-primary-bold enabled:selected:color-mono-bold:bg-interactive-muted-hover enabled:selected:color-mono-bold:outline enabled:selected:color-mono-bold:outline-mono-bold',\n 'enabled:selected:hover:color-mono-bold:fg-inverse-bold enabled:selected:hover:color-mono-bold:bg-interactive-bold-hover enabled:selected:hover:color-mono-bold:outline-2 enabled:selected:hover:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:fg-inverse-bold enabled:selected:focus-visible:color-mono-bold:bg-interactive-muted-hover enabled:selected:focus-visible:color-mono-bold:outline-2 enabled:selected:focus-visible:color-mono-bold:outline-mono-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed enabled:selected:pressed:color-mono-bold:outline-2 enabled:selected:pressed:color-mono-bold:outline-mono-bold-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold enabled:color-accent:bg-transparent enabled:color-accent:outline enabled:color-accent:outline-mono-bold',\n 'enabled:hover:color-accent:fg-hover enabled:hover:color-accent:bg-accent-primary-muted enabled:hover:color-accent:outline-2 enabled:hover:color-accent:outline-accent-primary-hover',\n 'enabled:focus-visible:color-accent:fg-hover enabled:focus-visible:color-accent:bg-accent-primary-muted enabled:focus-visible:color-accent:outline-2 enabled:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:pressed:color-accent:fg-pressed enabled:pressed:color-accent:bg-interactive-muted-pressed enabled:pressed:color-accent:outline-2 enabled:pressed:color-accent:outline-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-primary-bold enabled:selected:color-accent:bg-accent-primary-muted enabled:color-accent:outline enabled:selected:color-accent:outline-accent-primary-bold',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover enabled:selected:hover:color-accent:outline-2 enabled:selected:hover:color-accent:outline-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover enabled:selected:focus-visible:color-accent:outline-2 enabled:selected:focus-visible:color-accent:outline-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-pressed enabled:selected:pressed:color-accent:bg-accent-primary-pressed enabled:selected:pressed:color-accent:outline-2 enabled:selected:pressed:color-accent:outline-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-primary-bold enabled:color-serious:bg-transparent enabled:color-serious:outline enabled:color-serious:outline-serious-bold',\n 'enabled:hover:color-serious:fg-primary-bold enabled:hover:color-serious:bg-serious-bold enabled:hover:color-serious:outline-2 enabled:hover:color-serious:outline-serious-hover',\n 'enabled:focus-visible:color-serious:fg-primary-bold enabled:focus-visible:color-serious:bg-serious-muted enabled:focus-visible:color-serious:outline-2 enabled:focus-visible:color-serious:outline-serious-hover',\n 'enabled:pressed:color-serious:fg-serious-bold enabled:pressed:color-serious:bg-serious-pressed enabled:pressed:color-serious:outline-2 enabled:pressed:color-serious:outline-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-serious-bold enabled:selected:color-serious:bg-serious-muted enabled:selected:color-serious:outline-serious-muted',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover enabled:selected:hover:color-serious:outline-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover enabled:selected:focus-visible:color-serious:outline-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed enabled:selected:pressed:color-serious:outline-2 enabled:selected:pressed:color-serious:outline-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-primary-bold enabled:color-critical:bg-transparent enabled:color-critical:outline enabled:color-critical:outline-critical-bold',\n 'enabled:hover:color-critical:fg-primary-bold enabled:hover:color-critical:bg-critical-bold enabled:hover:color-critical:outline-2 enabled:hover:color-critical:outline-critical-hover',\n 'enabled:focus-visible:color-critical:fg-primary-bold enabled:focus-visible:color-critical:bg-critical-muted enabled:focus-visible:color-critical:outline-2 enabled:focus-visible:color-critical:outline-critical-hover',\n 'enabled:pressed:color-critical:fg-critical-bold enabled:pressed:color-critical:bg-critical-pressed enabled:pressed:color-critical:outline-2 enabled:pressed:color-critical:outline-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-critical-bold enabled:selected:color-critical:bg-critical-muted enabled:selected:color-critical:outline-critical-muted',\n 'enabled:selected:hover:color-critical:fg-primary-bold enabled:selected:hover:color-critical:bg-critical-hover enabled:selected:hover:color-critical:outline-critical-hover',\n 'enabled:selected:focus-visible:color-critical:fg-primary-bold enabled:selected:focus-visible:color-critical:bg-critical-hover enabled:selected:focus-visible:color-critical:outline-critical-hover',\n 'enabled:selected:pressed:color-critical:fg-critical-pressed enabled:selected:pressed:color-critical:bg-critical-pressed enabled:selected:pressed:color-critical:outline-2 enabled:selected:pressed:color-critical:outline-critical-pressed',\n ],\n icon: [\n 'size-small:rounded-small size-xsmall:rounded-small size-large:p-xs size-medium:p-xs size-small:p-xxs size-xsmall:p-xxs',\n 'size-large:min-w-xxl size-large:max-w-xxl',\n 'size-medium:min-w-[28px] size-medium:max-w-[28px]',\n 'size-small:min-w-xl size-small:max-w-xl',\n 'size-xsmall:min-w-[20px] size-xsmall:max-w-[20px]',\n\n // Disabled\n 'disabled:fg-disabled disabled:bg-transparent',\n\n // Disabled - Selected\n 'disabled:selected:fg-disabled disabled:selected:bg-interactive-disabled',\n\n // Mono Muted\n 'enabled:color-mono-muted:fg-primary-muted',\n 'enabled:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-muted:fg-pressed enabled:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Muted-Selected\n 'enabled:selected:color-mono-muted:fg-primary-muted enabled:selected:color-mono-muted:bg-interactive-muted',\n 'enabled:selected:hover:color-mono-muted:fg-primary-bold enabled:selected:hover:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:selected:focus-visible:color-mono-muted:fg-primary-bold enabled:selected:focus-visible:color-mono-muted:bg-interactive-muted-hover',\n 'enabled:selected:pressed:color-mono-muted:fg-pressed enabled:selected:pressed:color-mono-muted:bg-interactive-muted-pressed',\n\n // Mono Bold\n 'enabled:color-mono-bold:fg-primary-bold',\n 'enabled:hover:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:focus-visible:color-mono-bold:bg-interactive-muted-hover',\n 'enabled:pressed:color-mono-bold:fg-pressed enabled:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Mono Bold - Selected\n 'enabled:selected:color-mono-bold:fg-inverse-bold enabled:selected:color-mono-bold:bg-interactive-bold',\n 'enabled:selected:hover:color-mono-bold:fg-inverse-bold enabled:selected:hover:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:selected:focus-visible:color-mono-bold:bg-interactive-bold-hover',\n 'enabled:selected:pressed:color-mono-bold:fg-pressed enabled:selected:pressed:color-mono-bold:bg-interactive-muted-pressed',\n\n // Accent\n 'enabled:color-accent:fg-primary-bold',\n 'enabled:hover:color-accent:fg-accent-primary-hover enabled:hover:color-accent:bg-accent-primary-muted',\n 'enabled:focus-visible:color-accent:fg-accent-primary-hover enabled:focus-visible:color-accent:bg-accent-primary-muted',\n 'enabled:pressed:color-accent:fg-accent-primary-pressed enabled:pressed:color-accent:bg-accent-primary-pressed',\n\n // Accent - Selected\n 'enabled:selected:color-accent:fg-accent-primary-hover enabled:selected:color-accent:bg-accent-primary-muted',\n 'enabled:selected:hover:color-accent:fg-a11y-on-accent enabled:selected:hover:color-accent:bg-accent-primary-hover',\n 'enabled:selected:focus-visible:color-accent:fg-a11y-on-accent enabled:selected:focus-visible:color-accent:bg-accent-primary-hover',\n 'enabled:selected:pressed:color-accent:fg-accent-primary-pressed enabled:selected:pressed:color-accent:bg-accent-primary-pressed',\n\n // Serious\n 'enabled:color-serious:fg-serious-bold',\n 'enabled:hover:color-serious:fg-serious-hover enabled:hover:color-serious:bg-serious-muted',\n 'enabled:focus-visible:color-serious:fg-serious-hover enabled:focus-visible:color-serious:bg-serious-muted',\n 'enabled:pressed:color-serious:fg-serious-pressed enabled:pressed:color-serious:bg-serious-pressed',\n\n // Serious - Selected\n 'enabled:selected:color-serious:fg-serious-bold enabled:selected:color-serious:bg-serious-muted',\n 'enabled:selected:hover:color-serious:fg-primary-bold enabled:selected:hover:color-serious:bg-serious-hover',\n 'enabled:selected:focus-visible:color-serious:fg-primary-bold enabled:selected:focus-visible:color-serious:bg-serious-hover',\n 'enabled:selected:pressed:color-serious:fg-serious-pressed enabled:selected:pressed:color-serious:bg-serious-pressed',\n\n // Critical\n 'enabled:color-critical:fg-critical-bold',\n 'enabled:hover:color-critical:fg-critical-hover enabled:hover:color-critical:bg-critical-muted',\n 'enabled:focus-visible:color-critical:fg-critical-hover enabled:focus-visible:color-critical:bg-critical-muted',\n 'enabled:pressed:color-critical:fg-critical-pressed enabled:pressed:color-critical:bg-critical-pressed',\n\n // Critical - Selected\n 'enabled:selected:color-critical:fg-critical-bold enabled:selected:color-critical:bg-critical-muted',\n 'enabled:selected:hover:color-critical:fg-a11y-on-accent enabled:selected:hover:color-critical:bg-critical-hover',\n 'enabled:selected:focus-visible:color-critical:fg-a11y-on-accent enabled:selected:focus-visible:color-critical:bg-critical-hover',\n 'enabled:selected:pressed:color-critical:fg-critical-pressed enabled:selected:pressed:color-critical:bg-critical-pressed',\n ],\n },\n },\n});\n"]}
@@ -0,0 +1,39 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ClockProps } from './types.js';
3
+ import 'react';
4
+
5
+ /**
6
+ * Clock - An auto-updating UTC time component.
7
+ *
8
+ * Uses a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat|DateTimeFormat} configured with `'en-US', { timeStyle: 'long, timeZone: 'UTC', hour12: false }` by default,
9
+ * but can be overridden with the `formatter` prop.
10
+ *
11
+ * NOTE: This component comes **unstyled by default**.
12
+ *
13
+ * @example
14
+ * // Standard Clock
15
+ * <Clock /> // <time>15:54:14 UTC</time>
16
+ *
17
+ * @example
18
+ * // Styled
19
+ * <Clock className="fg-accent-primary-bold" />
20
+ *
21
+ * @example
22
+ * // Custom Format
23
+ * const formatter = new Intl.DateTimeFormat('en-US', {
24
+ * dateStyle: "short",
25
+ * timeStyle: 'long',
26
+ * timeZone: 'UTC',
27
+ * hour12: false
28
+ * });
29
+ *
30
+ * <Clock formatter={formatter} /> // <time>9/30/25, 15:54:14 UTC</time>
31
+ *
32
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat| DateTimeFormat MDN}
33
+ */
34
+ declare function Clock({ formatter, ...rest }: ClockProps): react_jsx_runtime.JSX.Element;
35
+ declare namespace Clock {
36
+ var displayName: string;
37
+ }
38
+
39
+ export { Clock };
@@ -0,0 +1,4 @@
1
+ 'use client';
2
+
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {setClockInterval}from'@accelint/temporal';import {useCallback,useState,useEffect}from'react';const c=new Intl.DateTimeFormat("en-US",{timeStyle:"long",timeZone:"UTC",hour12:false});function p({formatter:e=c,...o}){const t=useCallback(()=>e.format(Date.now()),[e]),[m,n]=useState(t());return useEffect(()=>setClockInterval(()=>n(t()),1e3),[t]),jsx("time",{...o,children:m})}p.displayName="Clock";export{p as Clock};//# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/clock/index.tsx"],"names":["DEFAULT_FORMATTER","Clock","formatter","rest","now","useCallback","time","setTime","useState","useEffect","setClockInterval","jsx"],"mappings":"6JAkBA,MAAMA,EAAoB,IAAI,IAAA,CAAK,cAAA,CAAe,OAAA,CAAS,CACzD,SAAA,CAAW,MAAA,CACX,SAAU,KAAA,CACV,MAAA,CAAQ,KACV,CAAC,CAAA,CA+BM,SAASC,CAAAA,CAAM,CAAE,UAAAC,CAAAA,CAAYF,CAAAA,CAAmB,GAAGG,CAAK,CAAA,CAAe,CAC5E,MAAMC,CAAAA,CAAMC,WAAAA,CAAY,IAAMH,EAAU,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,CAAG,CAACA,CAAS,CAAC,EAEjE,CAACI,CAAAA,CAAMC,CAAO,CAAA,CAAIC,QAAAA,CAAiBJ,GAAK,CAAA,CAE9C,OAAAK,SAAAA,CAAU,IAAMC,gBAAAA,CAAiB,IAAMH,EAAQH,CAAAA,EAAK,EAAG,GAAI,CAAA,CAAG,CAACA,CAAG,CAAC,EAE5DO,GAAAA,CAAC,MAAA,CAAA,CAAM,GAAGR,CAAAA,CAAO,QAAA,CAAAG,EAAK,CAC/B,CACAL,EAAM,WAAA,CAAc,OAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { setClockInterval } from '@accelint/temporal';\nimport { useCallback, useEffect, useState } from 'react';\nimport type { ClockProps } from './types';\n\nconst DEFAULT_FORMATTER = new Intl.DateTimeFormat('en-US', {\n timeStyle: 'long',\n timeZone: 'UTC',\n hour12: false,\n});\n\n/**\n * Clock - An auto-updating UTC time component.\n *\n * Uses a {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat|DateTimeFormat} configured with `'en-US', { timeStyle: 'long, timeZone: 'UTC', hour12: false }` by default,\n * but can be overridden with the `formatter` prop.\n *\n * NOTE: This component comes **unstyled by default**.\n *\n * @example\n * // Standard Clock\n * <Clock /> // <time>15:54:14 UTC</time>\n *\n * @example\n * // Styled\n * <Clock className=\"fg-accent-primary-bold\" />\n *\n * @example\n * // Custom Format\n * const formatter = new Intl.DateTimeFormat('en-US', {\n * dateStyle: \"short\",\n * timeStyle: 'long',\n * timeZone: 'UTC',\n * hour12: false\n * });\n *\n * <Clock formatter={formatter} /> // <time>9/30/25, 15:54:14 UTC</time>\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat| DateTimeFormat MDN}\n */\nexport function Clock({ formatter = DEFAULT_FORMATTER, ...rest }: ClockProps) {\n const now = useCallback(() => formatter.format(Date.now()), [formatter]);\n\n const [time, setTime] = useState<string>(now());\n\n useEffect(() => setClockInterval(() => setTime(now()), 1000), [now]);\n\n return <time {...rest}>{time}</time>;\n}\nClock.displayName = 'Clock';\n"]}
@@ -0,0 +1,7 @@
1
+ import { ComponentPropsWithRef } from 'react';
2
+
3
+ type ClockProps = ComponentPropsWithRef<'time'> & {
4
+ formatter?: Intl.DateTimeFormat;
5
+ };
6
+
7
+ export type { ClockProps };
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -11,6 +11,17 @@ import '../button/styles.js';
11
11
  import 'tailwind-merge';
12
12
 
13
13
  declare const ComboBoxFieldContext: react.Context<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>;
14
+ /**
15
+ * ComboBoxField - Accessible searchable combobox with dropdown options
16
+ *
17
+ * A combobox field that provides a searchable input with virtualized dropdown
18
+ * options and support for sections, icons, and rich content.
19
+ *
20
+ * @example
21
+ * <ComboBoxField defaultItems={items}>
22
+ * {(item) => <Options.Item key={item.id} textValue={item.name}>{item.name}</Options.Item>}
23
+ * </ComboBoxField>
24
+ */
14
25
  declare function ComboBoxField<T extends OptionsDataItem>({ ref, ...props }: ComboBoxFieldProps<T>): react_jsx_runtime.JSX.Element;
15
26
  declare namespace ComboBoxField {
16
27
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/combobox-field/index.tsx"],"names":["input","trigger","description","error","ComboBoxStyles","ComboBoxFieldProvider","k","children","props","ComboBoxFieldContext","labelProp","isInvalidProp","errorMessageProp","size","jsx","ComboBox","rest","ref","composeRenderProps","o","I","className","s","menuTrigger","errorMessage","isInvalid","Fragment","u","X","label","classNames","R","isDisabled","isRequired","control","D","Button","T","Icon","h","descriptionProp","g","M","FieldError","O","popover","z","L","S"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { ChevronDown } from '@accelint/icons';\nimport { createContext } from 'react';\nimport {\n Button,\n ComboBox,\n type ContextValue,\n composeRenderProps,\n FieldError,\n Input,\n ListLayout,\n Popover,\n Text,\n useContextProps,\n Virtualizer,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Options } from '../options';\nimport { ComboBoxStyles } from './styles';\nimport type { ProviderProps } from '@/lib/types';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\nconst { field, label, control, input, trigger, description, error, popover } =\n ComboBoxStyles();\n\nexport const ComboBoxFieldContext =\n // biome-ignore lint/suspicious/noExplicitAny: Setting a type would restrict it beyond what the component allows to extend to\n createContext<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>(null);\n\nfunction ComboBoxFieldProvider<T extends OptionsDataItem>({\n children,\n ...props\n}: ProviderProps<ComboBoxFieldProps<T>>) {\n return (\n <ComboBoxFieldContext.Provider value={props}>\n {children}\n </ComboBoxFieldContext.Provider>\n );\n}\nComboBoxFieldProvider.displayName = 'ComboBoxField.Provider';\n\nexport function ComboBoxField<T extends OptionsDataItem>({\n ref,\n ...props\n}: ComboBoxFieldProps<T>) {\n [props, ref] = useContextProps(props, ref ?? null, ComboBoxFieldContext);\n\n const {\n children,\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n layoutOptions,\n menuTrigger = 'focus',\n size = 'medium',\n isInvalid: isInvalidProp,\n ...rest\n } = props;\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <ComboBox<T>\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className }),\n )}\n menuTrigger={menuTrigger}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n data-size={size}\n >\n {(\n { isDisabled, isInvalid, isRequired }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!!labelProp && !isSmall && (\n <Label\n className={label({ className: classNames?.label })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div className={control({ className: classNames?.control })}>\n <Input\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n input({ className }),\n )}\n />\n <Button\n className={composeRenderProps(classNames?.trigger, (className) =>\n trigger({ className }),\n )}\n >\n <Icon size='small'>\n <ChevronDown />\n </Icon>\n </Button>\n </div>\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n className={description({\n className: classNames?.description,\n })}\n slot='description'\n >\n {descriptionProp}\n </Text>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n error({ className }),\n )}\n >\n {errorMessage}\n </FieldError>\n <Popover\n className={composeRenderProps(classNames?.popover, (className) =>\n popover({ className }),\n )}\n >\n <Virtualizer layout={ListLayout} layoutOptions={layoutOptions}>\n <Options>{children}</Options>\n </Virtualizer>\n </Popover>\n </>\n )}\n </ComboBox>\n );\n}\nComboBoxField.displayName = 'ComboBox';\n"]}
1
+ {"version":3,"sources":["../../../src/components/combobox-field/index.tsx"],"names":["input","trigger","description","error","ComboBoxStyles","ComboBoxFieldProvider","k","children","props","ComboBoxFieldContext","labelProp","isInvalidProp","errorMessageProp","size","jsx","ComboBox","rest","ref","composeRenderProps","o","I","className","s","menuTrigger","errorMessage","isInvalid","Fragment","u","X","label","classNames","R","isDisabled","isRequired","control","D","Button","T","Icon","h","descriptionProp","g","M","FieldError","O","popover","z","L","S"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { ChevronDown } from '@accelint/icons';\nimport { createContext } from 'react';\nimport {\n Button,\n ComboBox,\n type ContextValue,\n composeRenderProps,\n FieldError,\n Input,\n ListLayout,\n Popover,\n Text,\n useContextProps,\n Virtualizer,\n} from 'react-aria-components';\nimport { Icon } from '../icon';\nimport { Label } from '../label';\nimport { Options } from '../options';\nimport { ComboBoxStyles } from './styles';\nimport type { ProviderProps } from '@/lib/types';\nimport type { OptionsDataItem } from '../options/types';\nimport type { ComboBoxFieldProps } from './types';\n\nconst { field, label, control, input, trigger, description, error, popover } =\n ComboBoxStyles();\n\nexport const ComboBoxFieldContext =\n // biome-ignore lint/suspicious/noExplicitAny: Setting a type would restrict it beyond what the component allows to extend to\n createContext<ContextValue<ComboBoxFieldProps<any>, HTMLDivElement>>(null);\n\nfunction ComboBoxFieldProvider<T extends OptionsDataItem>({\n children,\n ...props\n}: ProviderProps<ComboBoxFieldProps<T>>) {\n return (\n <ComboBoxFieldContext.Provider value={props}>\n {children}\n </ComboBoxFieldContext.Provider>\n );\n}\nComboBoxFieldProvider.displayName = 'ComboBoxField.Provider';\n\n/**\n * ComboBoxField - Accessible searchable combobox with dropdown options\n *\n * A combobox field that provides a searchable input with virtualized dropdown\n * options and support for sections, icons, and rich content.\n *\n * @example\n * <ComboBoxField defaultItems={items}>\n * {(item) => <Options.Item key={item.id} textValue={item.name}>{item.name}</Options.Item>}\n * </ComboBoxField>\n */\nexport function ComboBoxField<T extends OptionsDataItem>({\n ref,\n ...props\n}: ComboBoxFieldProps<T>) {\n [props, ref] = useContextProps(props, ref ?? null, ComboBoxFieldContext);\n\n const {\n children,\n classNames,\n description: descriptionProp,\n errorMessage: errorMessageProp,\n inputProps,\n label: labelProp,\n layoutOptions,\n menuTrigger = 'focus',\n size = 'medium',\n isInvalid: isInvalidProp,\n ...rest\n } = props;\n const errorMessage = errorMessageProp || null; // Protect against empty string\n const isSmall = size === 'small';\n\n return (\n <ComboBox<T>\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.field, (className) =>\n field({ className }),\n )}\n menuTrigger={menuTrigger}\n isInvalid={isInvalidProp || (errorMessage ? true : undefined)} // Leave uncontrolled if possible to fallback to validation state\n data-size={size}\n >\n {(\n { isDisabled, isInvalid, isRequired }, // Rely on internal state, not props, since state could differ from props\n ) => (\n <>\n {!!labelProp && !isSmall && (\n <Label\n className={label({ className: classNames?.label })}\n isDisabled={isDisabled}\n isRequired={isRequired}\n >\n {labelProp}\n </Label>\n )}\n <div className={control({ className: classNames?.control })}>\n <Input\n {...inputProps}\n className={composeRenderProps(classNames?.input, (className) =>\n input({ className }),\n )}\n />\n <Button\n className={composeRenderProps(classNames?.trigger, (className) =>\n trigger({ className }),\n )}\n >\n <Icon size='small'>\n <ChevronDown />\n </Icon>\n </Button>\n </div>\n {!!descriptionProp && !(isSmall || isInvalid) && (\n <Text\n className={description({\n className: classNames?.description,\n })}\n slot='description'\n >\n {descriptionProp}\n </Text>\n )}\n <FieldError\n className={composeRenderProps(classNames?.error, (className) =>\n error({ className }),\n )}\n >\n {errorMessage}\n </FieldError>\n <Popover\n className={composeRenderProps(classNames?.popover, (className) =>\n popover({ className }),\n )}\n >\n <Virtualizer layout={ListLayout} layoutOptions={layoutOptions}>\n <Options>{children}</Options>\n </Virtualizer>\n </Popover>\n </>\n )}\n </ComboBox>\n );\n}\nComboBoxField.displayName = 'ComboBox';\n"]}
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const i=tv({slots:{field:"group/combobox-field flex flex-col gap-xs",label:"",control:["flex items-center rounded-medium px-s py-xs outline","group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]","group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]","group-enabled/combobox-field:fg-primary-bold group-enabled/combobox-field:outline-interactive","group-enabled/combobox-field:placeholder:fg-primary-muted","group-enabled/combobox-field:focus-visible-within:outline-accent-primary-bold","group-enabled/combobox-field:hover:outline-interactive-hover","group-enabled/combobox-field:group-invalid/combobox-field:outline-serious-bold","group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled"],input:["grow font-display outline-none","group-size-medium/combobox-field:text-body-s","group-size-small/combobox-field:text-body-xs"],trigger:["fg-primary-bold","group-open/combobox-field:rotate-180 group-open/combobox-field:transform","group-disabled/combobox-field:fg-disabled"],description:["fg-primary-muted text-body-xs","group-disabled/combobox-field:fg-disabled"],error:"fg-serious-bold text-body-xs",popover:"-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]"}});export{i as ComboBoxStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const i=tv({slots:{field:"group/combobox-field flex flex-col gap-xs",label:"",control:["flex items-center rounded-medium px-s py-xs outline","group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]","group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]","group-enabled/combobox-field:fg-primary-bold group-enabled/combobox-field:outline-interactive","group-enabled/combobox-field:placeholder:fg-primary-muted","group-enabled/combobox-field:hover:outline-interactive-hover","group-enabled/combobox-field:focus-visible:outline-interactive-hover","group-enabled/combobox-field:focus-within:outline-accent-primary-bold","group-enabled/combobox-field:pressed:outline-interactive-pressed","group-enabled/combobox-field:group-invalid/combobox-field:outline-serious-bold","group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled"],input:["grow font-display outline-none","group-size-medium/combobox-field:text-body-s","group-size-small/combobox-field:text-body-xs"],trigger:["fg-primary-bold","group-open/combobox-field:rotate-180 group-open/combobox-field:transform","group-disabled/combobox-field:fg-disabled"],description:["fg-primary-muted text-body-xs","group-disabled/combobox-field:fg-disabled"],error:"fg-serious-bold text-body-xs",popover:"-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]"}});export{i as ComboBoxStyles};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/combobox-field/styles.ts"],"names":["o"],"mappings":"6CAeS,CACLA,EAAA,CAAA,CAAA,wDAEA,SACE,CAAA,OAAA,CAAA,CAAA,qJAEA,CAAA,4FACA,CAAA,+FACA,CAAA,2DACA,CAAA,+EACA,CAAA,8DACA,CAAA,uLAIA,CAAA,CAAA,KAAA,CAAA,CAAA,gCACA,CAAA,6FAGO,CACP,CAAA,OAAA,CAAA,CAAA,iBACA,CAAA,0EACA,CAAA,2CAEF,CAAA,CAAA,4CAEE,CAAA,2CAEK,CAAA,CAAA,KAAA,CAAA,8BACE,CAAA,OAAA,CAAA,+DAEZ,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ComboBoxStyles = tv({\n slots: {\n field: 'group/combobox-field flex flex-col gap-xs',\n label: '',\n control: [\n 'flex items-center rounded-medium px-s py-xs outline',\n 'group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]',\n 'group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]',\n 'group-enabled/combobox-field:fg-primary-bold group-enabled/combobox-field:outline-interactive',\n 'group-enabled/combobox-field:placeholder:fg-primary-muted',\n 'group-enabled/combobox-field:focus-visible-within:outline-accent-primary-bold',\n 'group-enabled/combobox-field:hover:outline-interactive-hover',\n 'group-enabled/combobox-field:group-invalid/combobox-field:outline-serious-bold',\n 'group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled',\n ],\n input: [\n 'grow font-display outline-none',\n 'group-size-medium/combobox-field:text-body-s',\n 'group-size-small/combobox-field:text-body-xs',\n ],\n trigger: [\n 'fg-primary-bold',\n 'group-open/combobox-field:rotate-180 group-open/combobox-field:transform',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n description: [\n 'fg-primary-muted text-body-xs',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n error: 'fg-serious-bold text-body-xs',\n popover: '-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]',\n },\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/combobox-field/styles.ts"],"names":["o"],"mappings":"sCAeE,MAAA,CAAO,CACLA,EAAA,CAAA,CAAA,KAAO,CAAA,CAAA,KAAA,CAAA,2CAEP,CAAA,KAAA,CAAA,EACE,CAAA,OAAA,CAAA,CAAA,qDACA,CAAA,4LAEA,CAAA,+FACA,CAAA,2DACA,CAAA,8DACA,CAAA,sEACA,CAAA,uEACA,CAAA,mJAEA,CAAA,sGAGA,CAAA,CAAA,KAAA,CAAA,CAAA,+EAEA,CAAA,8CAEO,CACP,CAAA,OAAA,CAAA,CAAA,iBACA,CAAA,sHAGF,CAAA,CAAA,WACE,CAAA,CAAA,+BACA,CAAA,2CAEK,CAAA,CAAA,KAAA,CAAA,8BACE,CAAA,OAAA,CAAA,+DAEZ,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const ComboBoxStyles = tv({\n slots: {\n field: 'group/combobox-field flex flex-col gap-xs',\n label: '',\n control: [\n 'flex items-center rounded-medium px-s py-xs outline',\n 'group-size-medium/combobox-field:min-w-[160px] group-size-medium/combobox-field:max-w-[400px]',\n 'group-size-small/combobox-field:min-w-[80px] group-size-small/combobox-field:max-w-[200px]',\n 'group-enabled/combobox-field:fg-primary-bold group-enabled/combobox-field:outline-interactive',\n 'group-enabled/combobox-field:placeholder:fg-primary-muted',\n 'group-enabled/combobox-field:hover:outline-interactive-hover',\n 'group-enabled/combobox-field:focus-visible:outline-interactive-hover',\n 'group-enabled/combobox-field:focus-within:outline-accent-primary-bold',\n 'group-enabled/combobox-field:pressed:outline-interactive-pressed',\n 'group-enabled/combobox-field:group-invalid/combobox-field:outline-serious-bold',\n 'group-disabled/combobox-field:fg-disabled group-disabled/combobox-field:outline-interactive-disabled',\n ],\n input: [\n 'grow font-display outline-none',\n 'group-size-medium/combobox-field:text-body-s',\n 'group-size-small/combobox-field:text-body-xs',\n ],\n trigger: [\n 'fg-primary-bold',\n 'group-open/combobox-field:rotate-180 group-open/combobox-field:transform',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n description: [\n 'fg-primary-muted text-body-xs',\n 'group-disabled/combobox-field:fg-disabled',\n ],\n error: 'fg-serious-bold text-body-xs',\n popover: '-ml-s min-w-[calc(var(--trigger-width)+(var(--spacing-s)*2))]',\n },\n});\n"]}
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
 
3
- import {jsx}from'react/jsx-runtime';import'client-only';import {UNSAFE_PortalProvider}from'@react-aria/overlays';import {useIsSSR}from'@react-aria/ssr';import {createContext,useState,useEffect,useContext}from'react';import {useContextProps,ModalOverlay,composeRenderProps,Modal,Dialog,DialogTrigger,Heading,OverlayTriggerStateContext}from'react-aria-components';import {isSlottedContextValue}from'./../../lib/utils.js';import {ButtonContext}from'../button/index.js';import {DialogStyles}from'./styles.js';const {overlay:h,modal:B,dialog:U,title:_,content:I,footer:L}=DialogStyles(),d=createContext(null);function g({children:e,className:o}){return jsx(Heading,{slot:"title",className:_({className:o}),children:e})}g.displayName="Dialog.Title";function f({children:e,className:o}){return jsx("div",{className:I({className:o}),children:e})}f.displayName="Dialog.Content";function P({children:e,className:o}){const a=useContext(d),s=(isSlottedContextValue(a)?null:a?.size)??"small",n=useContext(OverlayTriggerStateContext);return jsx("footer",{className:L({className:o}),children:jsx(ButtonContext.Provider,{value:{size:s,onPress:n?.close??(()=>{})},children:e})})}P.displayName="Dialog.Footer";function r({ref:e,...o}){[o,e]=useContextProps(o,e??null,d);const a=useIsSSR(),[s,n]=useState(a?null:document.body),{children:v,classNames:m,parentRef:c,size:C="small",...D}=o;return useEffect(()=>{const l=c?.current,i=a?null:document.createElement("div");return l&&i&&(l.appendChild(i),n(i)),()=>{i?.remove(),n(a?null:document.body);}},[a,c]),jsx(d.Provider,{value:o,children:jsx(UNSAFE_PortalProvider,{getContainer:()=>s,children:jsx(ModalOverlay,{...D,ref:e,className:composeRenderProps(m?.overlay,l=>h({className:l})),"data-size":C,children:jsx(Modal,{className:composeRenderProps(m?.modal,l=>B({className:l})),children:jsx(Dialog,{className:U({className:m?.dialog}),children:v})})})})})}r.displayName="Dialog",r.Trigger=DialogTrigger,r.Title=g,r.Content=f,r.Footer=P;export{r as Dialog,d as DialogContext};//# sourceMappingURL=index.js.map
3
+ import {jsx}from'react/jsx-runtime';import'client-only';import {createContext,useContext}from'react';import {useContextProps,ModalOverlay,composeRenderProps,Modal,Dialog,DialogTrigger,Heading,OverlayTriggerStateContext}from'react-aria-components';import {isSlottedContextValue}from'./../../lib/utils.js';import {PortalProvider}from'./../../providers/portal.js';import {ButtonContext}from'../button/index.js';import {DialogStyles}from'./styles.js';const {overlay:O,modal:R,dialog:S,title:V,content:A,footer:B}=DialogStyles(),s=createContext(null);function g({children:e,className:o}){return jsx(Heading,{slot:"title",className:V({className:o}),children:e})}g.displayName="Dialog.Title";function p({children:e,className:o}){return jsx("div",{className:A({className:o}),children:e})}p.displayName="Dialog.Content";function c({children:e,className:o}){const r=useContext(s),a=(isSlottedContextValue(r)?null:r?.size)??"small",i=useContext(OverlayTriggerStateContext);return jsx("footer",{className:B({className:o}),children:jsx(ButtonContext.Provider,{value:{size:a,onPress:i?.close??(()=>{})},children:e})})}c.displayName="Dialog.Footer";function l({ref:e,...o}){[o,e]=useContextProps(o,e??null,s);const{children:r,classNames:a,parentRef:i,size:u="small",...D}=o;return jsx(s.Provider,{value:o,children:jsx(PortalProvider,{parentRef:i,children:jsx(ModalOverlay,{...D,ref:e,className:composeRenderProps(a?.overlay,n=>O({className:n})),"data-size":u,children:jsx(Modal,{className:composeRenderProps(a?.modal,n=>R({className:n})),children:jsx(Dialog,{className:S({className:a?.dialog}),children:r})})})})})}l.displayName="Dialog",l.Trigger=DialogTrigger,l.Title=g,l.Content=p,l.Footer=c;export{l as Dialog,s as DialogContext};//# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/dialog/index.tsx"],"names":["title","DialogStyles","DialogContext","DialogTitle","x","className","jsx","Heading","t","H","children","DialogContent","context","useContext","O","state","p","A","size","DialogFooter","props","ref","isSSR","useIsSSR","portal","N","T","classNames","parentRef","useEffect","node","S","port","setPortal","y","rest","composeRenderProps","modal","u","dialog","E","Dialog"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { UNSAFE_PortalProvider } from '@react-aria/overlays';\nimport { useIsSSR } from '@react-aria/ssr';\nimport {\n type ComponentProps,\n createContext,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n Dialog as AriaDialog,\n type ContextValue,\n composeRenderProps,\n DialogTrigger,\n Heading,\n type HeadingProps,\n Modal,\n ModalOverlay,\n OverlayTriggerStateContext,\n useContextProps,\n} from 'react-aria-components';\nimport { isSlottedContextValue } from '@/lib/utils';\nimport { ButtonContext } from '../button';\nimport { DialogStyles } from './styles';\nimport type { DialogProps } from './types';\n\nconst { overlay, modal, dialog, title, content, footer } = DialogStyles();\n\nexport const DialogContext =\n createContext<ContextValue<DialogProps, HTMLDivElement>>(null);\n\nfunction DialogTitle({ children, className }: HeadingProps) {\n return (\n <Heading slot='title' className={title({ className })}>\n {children}\n </Heading>\n );\n}\nDialogTitle.displayName = 'Dialog.Title';\n\nfunction DialogContent({ children, className }: ComponentProps<'div'>) {\n return <div className={content({ className })}>{children}</div>;\n}\nDialogContent.displayName = 'Dialog.Content';\n\nfunction DialogFooter({ children, className }: ComponentProps<'footer'>) {\n const context = useContext(DialogContext);\n const size =\n (isSlottedContextValue(context) ? null : context?.size) ?? 'small';\n const state = useContext(OverlayTriggerStateContext);\n\n return (\n <footer className={footer({ className })}>\n <ButtonContext.Provider\n value={{\n size,\n onPress: state?.close ?? (() => undefined),\n }}\n >\n {children}\n </ButtonContext.Provider>\n </footer>\n );\n}\n\nDialogFooter.displayName = 'Dialog.Footer';\n\n/**\n * Dialog - A modal dialog component for important content and interactions\n *\n * Provides accessible modal functionality with focus management, backdrop handling,\n * and keyboard navigation. Supports multiple sizes and customizable dismissal behavior.\n * Perfect for confirmations, forms, or any content requiring user focus.\n *\n * @example\n * // Basic dialog with trigger\n * <Dialog.Trigger>\n * <Button>Open Dialog</Button>\n * <Dialog>\n * {({ close }) => (\n * <>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * <p>Are you sure you want to continue?</p>\n * <Dialog.Footer>\n * <Dialog.Button onPress={close}>Confirm</Dialog.Button>\n * </Dialog.Footer>\n * </>\n * )}\n * </Dialog>\n * </Dialog.Trigger>\n */\nexport function Dialog({ ref, ...props }: DialogProps) {\n [props, ref] = useContextProps(props, ref ?? null, DialogContext);\n\n const isSSR = useIsSSR();\n const [portal, setPortal] = useState(isSSR ? null : document.body);\n const { children, classNames, parentRef, size = 'small', ...rest } = props;\n\n useEffect(() => {\n const node = parentRef?.current;\n // TODO: Ensure proper ssr hydration\n const port = isSSR ? null : document.createElement('div');\n\n if (node && port) {\n node.appendChild(port);\n\n setPortal(port);\n }\n\n return () => {\n port?.remove();\n\n setPortal(isSSR ? null : document.body);\n };\n }, [isSSR, parentRef]);\n\n return (\n <DialogContext.Provider value={props}>\n <UNSAFE_PortalProvider getContainer={() => portal}>\n <ModalOverlay\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.overlay, (className) =>\n overlay({ className }),\n )}\n data-size={size}\n >\n <Modal\n className={composeRenderProps(classNames?.modal, (className) =>\n modal({ className }),\n )}\n >\n <AriaDialog className={dialog({ className: classNames?.dialog })}>\n {children}\n </AriaDialog>\n </Modal>\n </ModalOverlay>\n </UNSAFE_PortalProvider>\n </DialogContext.Provider>\n );\n}\nDialog.displayName = 'Dialog';\nDialog.Trigger = DialogTrigger;\nDialog.Title = DialogTitle;\nDialog.Content = DialogContent;\nDialog.Footer = DialogFooter;\n"]}
1
+ {"version":3,"sources":["../../../src/components/dialog/index.tsx"],"names":["title","content","footer","DialogContext","createContext","DialogTitle","F","children","jsx","Heading","t","C","className","context","useContext","m","state","OverlayTriggerStateContext","N","DialogFooter","ref","props","T","parentRef","size","PortalProvider","rest","M","x","overlay","d","y","AriaDialog","f","Dialog","DialogTrigger","DialogContent"],"mappings":"+bAiCgC,MAAAA,CAAAA,OAAO,CAAA,CAAAC,CAAAA,KAAS,CAAA,CAAA,CAAAC,OAEnCC,CAAAA,CACXC,KAAyD,CAAI,CAAA,CAE/D,SAASC,CAAAA,MAAc,CAAA,CAAA,CAAA,CAAAC,YAAAC,EAAU,uBAAU,SACzC,CACEC,CAAAA,CAACC,QAAa,YAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,OAAmBC,GAAA,CAAAC,OAAA,CAAA,CAAA,IAAW,CAAA,OACjD,CAAA,SAIK,CAAA,CAAA,CAAA,CAAA,SAAc,CAAA,CAAA,CAAA,CAAA,CAAA,QAE1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,0BAAmCC,CAAU,SAC3C,CAAOJ,CAAAA,CAAC,QAAI,CAAA,CAAA,CAAA,SAAqB,CAAA,CAAA,CAAA,CAAA,CAAA,OAAWE,GAAA,CAAI,KAAA,CAAA,CAAA,SAEpC,CAAA,CAAA,CAAA,CAAA,SAAc,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAE5B,CAAA,CAAA,CAAA,CAAA,CAAA,WAAwB,CAAA,gBAAUE,CAAU,SACpCC,CAAAA,CAAUC,CAAAA,SAESD,CAAO,CAAA,SAAoB,WAAS,CAAA,CAAAE,UAAA,CACvDC,CAAAA,CAAQF,CAAAA,CAAWG,CAA0B,sBAEnD,CAAA,CAAA,CAAA,CAAA,IACET,CAAC,CAAA,EAAA,IAAA,GAAO,OAAA,CAAA,CAAA,CAAWN,UAAAA,CAAOgB,0BAAE,CAAA,CAAA,OAAAR,GAAAE,CAAU,QACpC,CAAA,CAAA,SAAe,CAAA,CAAA,CAAA,CAAA,SACN,CACL,YACA,CAAAF,GAAA,CAASM,aAAAA,CAAAA,QAAO,CAAU,CAAA,KAAG,CAC/B,CAAA,IAEC,CAAA,CAAA,CAAA,OAEL,CAEJ,CAEAG,EAAa,YAAc,CAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CA0BpB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAAkBC,CAAK,eACGC,CAAAA,SAAoBlB,CAAa,CAAA,CAEhE,GAAA,CAAA,CAAM,CAAE,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAAI,EAAU,CAAA,CAAAe,eAAA,CAAA,CAAA,CAAA,CAAA,EAAA,IAAY,CAAA,CAAA,CAAA,CAAA,KAAA,CAAAC,QAAWC,CAAO,CAAA,CAAA,UAAiB,CAAA,CAAIH,CAAAA,SAGnEb,CAACL,EAAc,IAAA,CAAA,CAAA,CAAA,OAAS,CAAA,GACtB,YAACsB,GAAA,CAAe,CAAA,CAAA,QAAWF,CAAAA,CACzB,KAAA,CAAA,CAAA,CAAA,QACG,CAAGG,GAAAA,CACJC,cAAA,CAAA,CAAA,oBAC0C,CAAAjB,GAAA,CAAAkB,YAAA,CAAA,CAAUhB,GAClDiB,EAAQ,GAAE,CAAA,CAAA,CAAA,SACZ,CACAC,kBAAA,CAAA,CAAA,EAAA,OAAWN,CAAAA,CAEX,cACE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,WAA0C,CAAA,CAAA,CAAA,QAChC,CAAAd,GAAA,CAAAqB,KAAA,CAAA,CAAA,SAGV,CAAAD,kBAAA,CAAA,CAAA,EAAA,KAACE,CAAA,CAAW,EAAA,CAAA,CAAA,CAAA,SAAoB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,QAAuB,CAAAtB,GAAA,CAAAuB,MAAO,CAAC,CAAA,SAC5D,CAAA1B,EACH,CAAA,SAOZ2B,CAAAA,CAAO,EAAA,MAAA,CAAA,CAAA,CAAA,UACPA,CAAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAUC,CAAAA,CACjBD,CAAAA,WACO,CAAA,QAAUE,CACjBF,EAAO,OAASf,CAAAA,aAAAA,CAAAA,CAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { type ComponentProps, createContext, useContext } from 'react';\nimport {\n Dialog as AriaDialog,\n type ContextValue,\n composeRenderProps,\n DialogTrigger,\n Heading,\n type HeadingProps,\n Modal,\n ModalOverlay,\n OverlayTriggerStateContext,\n useContextProps,\n} from 'react-aria-components';\nimport { isSlottedContextValue } from '@/lib/utils';\nimport { PortalProvider } from '@/providers/portal';\nimport { ButtonContext } from '../button';\nimport { DialogStyles } from './styles';\nimport type { DialogProps } from './types';\n\nconst { overlay, modal, dialog, title, content, footer } = DialogStyles();\n\nexport const DialogContext =\n createContext<ContextValue<DialogProps, HTMLDivElement>>(null);\n\nfunction DialogTitle({ children, className }: HeadingProps) {\n return (\n <Heading slot='title' className={title({ className })}>\n {children}\n </Heading>\n );\n}\nDialogTitle.displayName = 'Dialog.Title';\n\nfunction DialogContent({ children, className }: ComponentProps<'div'>) {\n return <div className={content({ className })}>{children}</div>;\n}\nDialogContent.displayName = 'Dialog.Content';\n\nfunction DialogFooter({ children, className }: ComponentProps<'footer'>) {\n const context = useContext(DialogContext);\n const size =\n (isSlottedContextValue(context) ? null : context?.size) ?? 'small';\n const state = useContext(OverlayTriggerStateContext);\n\n return (\n <footer className={footer({ className })}>\n <ButtonContext.Provider\n value={{\n size,\n onPress: state?.close ?? (() => undefined),\n }}\n >\n {children}\n </ButtonContext.Provider>\n </footer>\n );\n}\n\nDialogFooter.displayName = 'Dialog.Footer';\n\n/**\n * Dialog - A modal dialog component for important content and interactions\n *\n * Provides accessible modal functionality with focus management, backdrop handling,\n * and keyboard navigation. Supports multiple sizes and customizable dismissal behavior.\n * Perfect for confirmations, forms, or any content requiring user focus.\n *\n * @example\n * // Basic dialog with trigger\n * <Dialog.Trigger>\n * <Button>Open Dialog</Button>\n * <Dialog>\n * {({ close }) => (\n * <>\n * <Dialog.Title>Confirm Action</Dialog.Title>\n * <p>Are you sure you want to continue?</p>\n * <Dialog.Footer>\n * <Dialog.Button onPress={close}>Confirm</Dialog.Button>\n * </Dialog.Footer>\n * </>\n * )}\n * </Dialog>\n * </Dialog.Trigger>\n */\nexport function Dialog({ ref, ...props }: DialogProps) {\n [props, ref] = useContextProps(props, ref ?? null, DialogContext);\n\n const { children, classNames, parentRef, size = 'small', ...rest } = props;\n\n return (\n <DialogContext.Provider value={props}>\n <PortalProvider parentRef={parentRef}>\n <ModalOverlay\n {...rest}\n ref={ref}\n className={composeRenderProps(classNames?.overlay, (className) =>\n overlay({ className }),\n )}\n data-size={size}\n >\n <Modal\n className={composeRenderProps(classNames?.modal, (className) =>\n modal({ className }),\n )}\n >\n <AriaDialog className={dialog({ className: classNames?.dialog })}>\n {children}\n </AriaDialog>\n </Modal>\n </ModalOverlay>\n </PortalProvider>\n </DialogContext.Provider>\n );\n}\nDialog.displayName = 'Dialog';\nDialog.Trigger = DialogTrigger;\nDialog.Title = DialogTitle;\nDialog.Content = DialogContent;\nDialog.Footer = DialogFooter;\n"]}
@@ -26,6 +26,15 @@ declare const DrawerEventHandlers: {
26
26
  readonly push: (view: UniqueId) => void;
27
27
  readonly reset: (stack: UniqueId) => void;
28
28
  };
29
+ declare function useDrawerEmit(): {
30
+ readonly close: (stack: UniqueId) => void;
31
+ readonly open: (view: UniqueId) => void;
32
+ readonly toggle: (view: UniqueId) => void;
33
+ readonly back: (stack: UniqueId) => void;
34
+ readonly clear: (stack: UniqueId) => void;
35
+ readonly push: (view: UniqueId) => void;
36
+ readonly reset: (stack: UniqueId) => void;
37
+ };
29
38
  declare function DrawerTrigger({ children, for: events }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
30
39
  declare namespace DrawerTrigger {
31
40
  var displayName: string;
@@ -86,6 +95,32 @@ declare function DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'foo
86
95
  declare namespace DrawerFooter {
87
96
  var displayName: string;
88
97
  }
98
+ /**
99
+ * Drawer - Slide-in panel for navigation or contextual content
100
+ *
101
+ * A flexible panel that slides in from the viewport edge and supports
102
+ * stacked views, headers, footers, and programmatic triggers.
103
+ *
104
+ * @example
105
+ * const ids = { drawer: uuid(), a: uuid() };
106
+ *
107
+ * <Drawer.Layout push="left">
108
+ * <Drawer.Layout.Main>
109
+ * <Drawer.Trigger for={`open:${ids.a}`}>
110
+ * <Button variant="icon">Open</Button>
111
+ * </Drawer.Trigger>
112
+ * </Drawer.Layout.Main>
113
+ *
114
+ * <Drawer id={ids.drawer} defaultView={ids.a}>
115
+ * <Drawer.Panel>
116
+ * <Drawer.View id={ids.a}>
117
+ * <Drawer.Header title="Title A" />
118
+ * <Drawer.Content>Content for View A</Drawer.Content>
119
+ * </Drawer.View>
120
+ * </Drawer.Panel>
121
+ * </Drawer>
122
+ * </Drawer.Layout>
123
+ */
89
124
  declare function Drawer({ id, children, className, defaultView, placement, size, onChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
90
125
  declare namespace Drawer {
91
126
  var displayName: string;
@@ -101,4 +136,4 @@ declare namespace Drawer {
101
136
  var Back: typeof DrawerBack;
102
137
  }
103
138
 
104
- export { Drawer, DrawerContext, DrawerEventHandlers };
139
+ export { Drawer, DrawerContext, DrawerEventHandlers, useDrawerEmit };
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
 
3
- import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {Broadcast}from'@accelint/bus';import {isUUID}from'@accelint/core';import {Cancel,ChevronLeft}from'@accelint/icons';import {Pressable}from'@react-aria/interactions';import {createContext,useRef,useState,useCallback,useEffect,useContext}from'react';import {composeRenderProps,Heading,Header}from'react-aria-components';import {containsExactChildren}from'./../../lib/react.js';import {Button,ToggleButton}from'../button/index.js';import {Icon}from'../icon/index.js';import {Tooltip}from'../tooltip/index.js';import {ViewStackEventHandlers,ViewStack,ViewStackContext}from'../view-stack/index.js';import {ViewStackEventTypes}from'../view-stack/events.js';import {DrawerEventTypes}from'./events.js';import {DrawerStyles,DrawerMenuStyles,DrawerTitleStyles}from'./styles.js';const {layout:ie,main:se,drawer:le,panel:pe,view:ce,header:me,content:ue,footer:we}=DrawerStyles(),{menu:fe,item:de}=DrawerMenuStyles(),p=Broadcast.getInstance(),k=createContext({register:()=>{},unregister:()=>{},placement:"left"}),ge={...ViewStackEventHandlers,close:ViewStackEventHandlers.clear,open:e=>p.emit(DrawerEventTypes.open,{view:e}),toggle:e=>p.emit(DrawerEventTypes.toggle,{view:e})};function T({children:e,for:t}){const{parent:a}=useContext(ViewStackContext);function i(){for(const s of Array.isArray(t)?t:[t]){let[l,c]=isUUID(s)?["push",s]:s.split(":");c??=a,c&&ge[l](c);}}return jsx(Pressable,{onPress:i,children:e})}T.displayName="Drawer.Trigger";function L(){return jsx(o.Trigger,{for:"close",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(Cancel,{})})})})}L.displayName="Drawer.Close";function W(){const{stack:e}=useContext(ViewStackContext);return e.length>1?jsx(o.Trigger,{for:"back",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(ChevronLeft,{})})})}):null}W.displayName="Drawer.Back";function A({className:e,...t}){return jsx("main",{...t,className:se({className:e})})}A.displayName="Drawer.Layout.Main";function I({className:e,extend:t="left right",push:a,...i}){return jsx("div",{...i,className:ie({className:e}),"data-extend":t,"data-push":a})}I.displayName="Drawer.Layout",I.Main=A;const De={left:"right",right:"left",top:"bottom",bottom:"top"};function V({for:e,children:t,classNames:a,toggle:i,textValue:s,...l}){const{parent:c,stack:f}=useContext(ViewStackContext),{placement:m}=useContext(k),d=f.at(-1),N=i?"toggle":"open",g=useRef(null);return c?jsxs(Tooltip,{children:[jsx(Tooltip.Trigger,{children:jsx(T,{for:`${N}:${e}`,children:jsx(ToggleButton,{...l,ref:g,className:composeRenderProps(a?.item,u=>de({className:u})),role:"tab",variant:"icon",isSelected:e===d||f.length>1&&f.includes(e),children:composeRenderProps(t,u=>jsx(Icon,{children:u}))})})}),jsx(Tooltip.Body,{triggerRef:g,placement:De[m],offset:6,className:a?.tooltip,children:s})]}):null}V.displayName="Drawer.Menu.Item";function D({className:e,position:t="center",children:a,...i}){return containsExactChildren({children:a,componentName:D.displayName,restrictions:[[V,{min:1}],[T,{min:0,max:0}]]}),jsx("nav",{...i,className:fe({position:t,className:e}),children:a})}D.displayName="Drawer.Menu",D.Item=V;function x({className:e,...t}){return jsx("div",{...t,className:pe({className:e})})}x.displayName="Drawer.Panel";function F({id:e,children:t,className:a,...i}){const{register:s,unregister:l}=useContext(k);return useEffect(()=>{s(e);},[s,l,e]),jsx(ViewStack.View,{id:e,children:jsx("div",{...i,className:ce({className:a}),role:"tabpanel",children:t})})}F.displayName="Drawer.View";function O({className:e,level:t,...a}){return jsx(Heading,{...a,className:DrawerTitleStyles({className:e,level:t}),level:t})}O.displayName="Drawer.Title";function M({className:e,title:t,children:a,...i}){const{stack:s}=useContext(ViewStackContext),l=s.length>1?4:1;return jsx(Header,{...i,className:me({className:e}),children:t?jsxs(Fragment,{children:[jsx(o.Back,{}),jsx(o.Header.Title,{level:l,className:"w-fit",children:t}),jsx(o.Close,{})]}):a})}M.displayName="Drawer.Header",M.Title=O;function $({className:e,...t}){return jsx("div",{...t,className:ue({className:e})})}$.displayName="Drawer.Content";function z({className:e,...t}){return jsx("footer",{...t,className:we({className:e})})}z.displayName="Drawer.Footer";function o({id:e,children:t,className:a,defaultView:i,placement:s="left",size:l="medium",onChange:c,...f}){containsExactChildren({children:t,componentName:o.displayName,restrictions:[[D,{min:0,max:1}],[x,{min:1,max:1}]]});const m=useRef(new Set),[d,N]=useState(i||null),g=useCallback(n=>{m.current.has(n?.payload?.view)&&(p.emit(ViewStackEventTypes.clear,{stack:e}),p.emit(ViewStackEventTypes.push,n.payload));},[e]),u=useCallback(n=>{m.current.has(n?.payload?.view)&&(p.emit(ViewStackEventTypes.clear,{stack:e}),d!==n?.payload?.view&&p.emit(ViewStackEventTypes.push,n.payload));},[e,d]);return useEffect(()=>{const n=[p.on(DrawerEventTypes.open,g),p.on(DrawerEventTypes.toggle,u)];return ()=>{for(const J of n)J();}},[g,u]),jsx(k.Provider,{value:{register:n=>m.current.add(n),unregister:n=>m.current.delete(n),placement:s},children:jsx(ViewStack,{id:e,defaultView:i,onChange:n=>{N(n),c?.(n);},children:jsx("div",{...f,className:le({className:a}),"data-open":!!d||null,"data-placement":s,"data-size":l,children:t})})})}o.displayName="Drawer",o.Layout=I,o.Menu=D,o.Panel=x,o.View=F,o.Header=M,o.Content=$,o.Footer=z,o.Trigger=T,o.Close=L,o.Back=W;export{o as Drawer,k as DrawerContext,ge as DrawerEventHandlers};//# sourceMappingURL=index.js.map
3
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {Broadcast}from'@accelint/bus';import {useEmit,useOn}from'@accelint/bus/react';import {isUUID}from'@accelint/core';import {Cancel,ChevronLeft}from'@accelint/icons';import {Pressable}from'@react-aria/interactions';import {createContext,useRef,useState,useCallback,useContext,useEffect}from'react';import {composeRenderProps,Heading,Header}from'react-aria-components';import {containsExactChildren}from'./../../lib/react.js';import {Button,ToggleButton}from'../button/index.js';import {Icon}from'../icon/index.js';import {Tooltip}from'../tooltip/index.js';import {ViewStackEventHandlers,useViewStackEmit,ViewStack,ViewStackContext}from'../view-stack/index.js';import {DrawerEventTypes}from'./events.js';import {DrawerStyles,DrawerMenuStyles,DrawerTitleStyles}from'./styles.js';const {layout:le,main:ce,drawer:pe,panel:me,view:ue,header:we,content:fe,footer:de}=DrawerStyles(),{menu:ge,item:De}=DrawerMenuStyles(),L=Broadcast.getInstance(),T=createContext({register:()=>{},unregister:()=>{},placement:"left"}),qe={...ViewStackEventHandlers,close:ViewStackEventHandlers.clear,open:e=>L.emit(DrawerEventTypes.open,{view:e}),toggle:e=>L.emit(DrawerEventTypes.toggle,{view:e})};function ve(){const e=useViewStackEmit(),r=useEmit(DrawerEventTypes.open),a=useEmit(DrawerEventTypes.toggle);return {...e,close:e.clear,open:n=>r({view:n}),toggle:n=>a({view:n})}}function y({children:e,for:r}){const{parent:a}=useContext(ViewStackContext),n=ve();function l(){for(const s of Array.isArray(r)?r:[r]){let[f,p]=isUUID(s)?["push",s]:s.split(":");p??=a,p&&n[f](p);}}return jsx(Pressable,{onPress:l,children:e})}y.displayName="Drawer.Trigger";function W(){return jsx(o.Trigger,{for:"close",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(Cancel,{})})})})}W.displayName="Drawer.Close";function O(){const{stack:e}=useContext(ViewStackContext);return e.length>1?jsx(o.Trigger,{for:"back",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(ChevronLeft,{})})})}):null}O.displayName="Drawer.Back";function A({className:e,...r}){return jsx("main",{...r,className:ce({className:e})})}A.displayName="Drawer.Layout.Main";function h({className:e,extend:r="left right",push:a,...n}){return jsx("div",{...n,className:le({className:e}),"data-extend":r,"data-push":a})}h.displayName="Drawer.Layout",h.Main=A;const ye={left:"right",right:"left",top:"bottom",bottom:"top"};function C({for:e,children:r,classNames:a,toggle:n,textValue:l,...s}){const{parent:f,stack:p}=useContext(ViewStackContext),{placement:m}=useContext(T),d=p.at(-1),P=n?"toggle":"open",c=useRef(null);return f?jsxs(Tooltip.Trigger,{children:[jsx(y,{for:`${P}:${e}`,children:jsx(ToggleButton,{...s,ref:c,className:composeRenderProps(a?.item,g=>De({className:g})),role:"tab",variant:"icon",isSelected:e===d||p.length>1&&p.includes(e),children:composeRenderProps(r,g=>jsx(Icon,{children:g}))})}),jsx(Tooltip,{triggerRef:c,placement:ye[m],offset:6,className:a?.tooltip,children:l})]}):null}C.displayName="Drawer.Menu.Item";function D({className:e,position:r="center",children:a,...n}){return containsExactChildren({children:a,componentName:D.displayName,restrictions:[[C,{min:1}],[y,{min:0,max:0}]]}),jsx("nav",{...n,className:ge({position:r,className:e}),children:a})}D.displayName="Drawer.Menu",D.Item=C;function k({className:e,...r}){return jsx("div",{...r,className:me({className:e})})}k.displayName="Drawer.Panel";function F({id:e,children:r,className:a,...n}){const{register:l,unregister:s}=useContext(T);return useEffect(()=>(l(e),()=>s(e)),[l,s,e]),jsx(ViewStack.View,{id:e,children:jsx("div",{...n,className:ue({className:a}),role:"tabpanel",children:r})})}F.displayName="Drawer.View";function $({className:e,level:r,...a}){return jsx(Heading,{...a,className:DrawerTitleStyles({className:e,level:r}),level:r})}$.displayName="Drawer.Title";function I({className:e,title:r,children:a,...n}){const{stack:l}=useContext(ViewStackContext),s=l.length>1?4:1;return jsx(Header,{...n,className:we({className:e}),children:r?jsxs(Fragment,{children:[jsx(o.Back,{}),jsx(o.Header.Title,{level:s,className:"w-fit",children:r}),jsx(o.Close,{})]}):a})}I.displayName="Drawer.Header",I.Title=$;function z({className:e,...r}){return jsx("div",{...r,className:fe({className:e})})}z.displayName="Drawer.Content";function G({className:e,...r}){return jsx("footer",{...r,className:de({className:e})})}G.displayName="Drawer.Footer";function o({id:e,children:r,className:a,defaultView:n,placement:l="left",size:s="medium",onChange:f,...p}){containsExactChildren({children:r,componentName:o.displayName,restrictions:[[D,{min:0,max:1}],[k,{min:1,max:1}]]});const m=useRef(new Set),[d,P]=useState(n||null),c=useViewStackEmit(),g=useCallback(i=>{m.current.has(i?.payload?.view)&&(c.clear(e),c.push(i.payload.view));},[e,c.clear,c.push]),K=useCallback(i=>{m.current.has(i?.payload?.view)&&(c.clear(e),d!==i?.payload?.view&&c.push(i.payload.view));},[e,d,c.clear,c.push]);return useOn(DrawerEventTypes.open,g),useOn(DrawerEventTypes.toggle,K),jsx(T.Provider,{value:{register:i=>m.current.add(i),unregister:i=>m.current.delete(i),placement:l},children:jsx(ViewStack,{id:e,defaultView:n,onChange:i=>{P(i),f?.(i);},children:jsx("div",{...p,className:pe({className:a}),"data-open":!!d||null,"data-placement":l,"data-size":s,children:r})})})}o.displayName="Drawer",o.Layout=h,o.Menu=D,o.Panel=k,o.View=F,o.Header=I,o.Content=z,o.Footer=G,o.Trigger=y,o.Close=W,o.Back=O;export{o as Drawer,T as DrawerContext,qe as DrawerEventHandlers,ve as useDrawerEmit};//# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map