@x-plat/design-system 0.5.24 → 0.5.27

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.
@@ -1664,10 +1664,89 @@
1664
1664
  font-weight: 600;
1665
1665
  }
1666
1666
 
1667
+ /* src/components/IconButton/iconButton.scss */
1668
+ .lib-xplat-icon-button {
1669
+ display: inline-flex;
1670
+ align-items: center;
1671
+ justify-content: center;
1672
+ flex-shrink: 0;
1673
+ border: 1px solid transparent;
1674
+ border-radius: var(--spacing-radius-md);
1675
+ cursor: pointer;
1676
+ transition: background-color 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94);
1677
+ }
1678
+ .lib-xplat-icon-button.sm {
1679
+ width: var(--spacing-control-height-sm);
1680
+ height: var(--spacing-control-height-sm);
1681
+ font-size: 14px;
1682
+ }
1683
+ .lib-xplat-icon-button.md {
1684
+ width: var(--spacing-control-height-md);
1685
+ height: var(--spacing-control-height-md);
1686
+ font-size: 18px;
1687
+ }
1688
+ .lib-xplat-icon-button.lg {
1689
+ width: var(--spacing-control-height-lg);
1690
+ height: var(--spacing-control-height-lg);
1691
+ font-size: 22px;
1692
+ }
1693
+ .lib-xplat-icon-button:disabled {
1694
+ cursor: not-allowed;
1695
+ background-color: var(--semantic-surface-neutral-disabled) !important;
1696
+ border-color: var(--semantic-surface-neutral-disabled) !important;
1697
+ color: var(--semantic-text-disabled) !important;
1698
+ }
1699
+ .lib-xplat-icon-button.primary {
1700
+ color: var(--semantic-text-inverse);
1701
+ background-color: var(--semantic-surface-brand-default);
1702
+ }
1703
+ .lib-xplat-icon-button.primary:hover:not(:disabled) {
1704
+ background-color: var(--semantic-surface-brand-strong);
1705
+ }
1706
+ .lib-xplat-icon-button.primary:focus-visible {
1707
+ outline: 2px solid var(--semantic-interaction-focus-ring);
1708
+ outline-offset: 2px;
1709
+ }
1710
+ .lib-xplat-icon-button.secondary {
1711
+ color: var(--semantic-surface-brand-default);
1712
+ background-color: var(--semantic-surface-neutral-default);
1713
+ border-color: var(--semantic-border-default);
1714
+ }
1715
+ .lib-xplat-icon-button.secondary:hover:not(:disabled) {
1716
+ background-color: var(--semantic-surface-neutral-subtle);
1717
+ }
1718
+ .lib-xplat-icon-button.secondary:focus-visible {
1719
+ outline: 2px solid var(--semantic-interaction-focus-ring);
1720
+ outline-offset: 2px;
1721
+ }
1722
+ .lib-xplat-icon-button.danger {
1723
+ color: var(--semantic-text-inverse);
1724
+ background-color: var(--semantic-surface-error-default);
1725
+ }
1726
+ .lib-xplat-icon-button.danger:hover:not(:disabled) {
1727
+ background-color: var(--semantic-surface-error-strong);
1728
+ }
1729
+ .lib-xplat-icon-button.danger:focus-visible {
1730
+ outline: 2px solid var(--semantic-interaction-focus-ring);
1731
+ outline-offset: 2px;
1732
+ }
1733
+ .lib-xplat-icon-button.ghost {
1734
+ color: var(--semantic-text-subtle);
1735
+ background-color: transparent;
1736
+ }
1737
+ .lib-xplat-icon-button.ghost:hover:not(:disabled) {
1738
+ background-color: var(--semantic-surface-neutral-subtle);
1739
+ }
1740
+ .lib-xplat-icon-button.ghost:focus-visible {
1741
+ outline: 2px solid var(--semantic-interaction-focus-ring);
1742
+ outline-offset: 2px;
1743
+ }
1744
+
1667
1745
  /* src/components/ChatInput/chatInput.scss */
1668
1746
  .lib-xplat-chat-input {
1669
1747
  display: flex;
1670
1748
  align-items: flex-end;
1749
+ width: 100%;
1671
1750
  gap: var(--spacing-space-2);
1672
1751
  padding: var(--spacing-space-2);
1673
1752
  border: 1px solid var(--semantic-border-default);
@@ -1695,9 +1774,9 @@
1695
1774
  min-height: var(--spacing-control-height-sm);
1696
1775
  max-height: 200px;
1697
1776
  overflow-y: auto;
1698
- padding: 0;
1777
+ padding: 4px 0;
1699
1778
  font-size: 16px;
1700
- line-height: 1.5;
1779
+ line-height: 24px;
1701
1780
  color: var(--semantic-text-strong);
1702
1781
  background: transparent;
1703
1782
  }
@@ -1708,49 +1787,6 @@
1708
1787
  cursor: not-allowed;
1709
1788
  color: var(--semantic-text-disabled);
1710
1789
  }
1711
- .lib-xplat-chat-input .chat-input-send {
1712
- display: inline-flex;
1713
- align-items: center;
1714
- justify-content: center;
1715
- flex-shrink: 0;
1716
- width: var(--spacing-control-height-xs);
1717
- height: var(--spacing-control-height-xs);
1718
- border: none;
1719
- border-radius: var(--spacing-radius-md);
1720
- cursor: pointer;
1721
- font-size: 20px;
1722
- transition: background-color 0.15s, opacity 0.15s;
1723
- }
1724
- .lib-xplat-chat-input .chat-input-send:disabled {
1725
- opacity: 0.4;
1726
- cursor: not-allowed;
1727
- }
1728
- .lib-xplat-chat-input .chat-input-send:focus-visible {
1729
- outline: 2px solid var(--semantic-interaction-focus-ring);
1730
- outline-offset: 2px;
1731
- }
1732
- .lib-xplat-chat-input .chat-input-send.btn-primary {
1733
- background-color: var(--semantic-surface-brand-default);
1734
- color: var(--semantic-text-inverse);
1735
- }
1736
- .lib-xplat-chat-input .chat-input-send.btn-primary:hover:not(:disabled) {
1737
- background-color: var(--semantic-surface-brand-strong);
1738
- }
1739
- .lib-xplat-chat-input .chat-input-send.btn-secondary {
1740
- background-color: var(--semantic-surface-neutral-default);
1741
- color: var(--semantic-surface-brand-default);
1742
- border: 1px solid var(--semantic-border-default);
1743
- }
1744
- .lib-xplat-chat-input .chat-input-send.btn-secondary:hover:not(:disabled) {
1745
- background-color: var(--semantic-surface-neutral-subtle);
1746
- }
1747
- .lib-xplat-chat-input .chat-input-send.btn-text {
1748
- background-color: transparent;
1749
- color: var(--semantic-surface-brand-default);
1750
- }
1751
- .lib-xplat-chat-input .chat-input-send.btn-text:hover:not(:disabled) {
1752
- background-color: var(--semantic-surface-neutral-subtle);
1753
- }
1754
1790
 
1755
1791
  /* src/components/Box/box.scss */
1756
1792
  .lib-xplat-box {
@@ -18,6 +18,7 @@ export { Dropdown } from './Dropdown/index.cjs';
18
18
  export { EmptyState } from './EmptyState/index.cjs';
19
19
  export { FileUpload } from './FileUpload/index.cjs';
20
20
  export { HtmlTypewriter } from './HtmlTypeWriter/index.cjs';
21
+ export { IconButton } from './IconButton/index.cjs';
21
22
  export { ImageSelector } from './ImageSelector/index.cjs';
22
23
  export { Input, PasswordInput } from './Input/index.cjs';
23
24
  export { Modal } from './Modal/index.cjs';
@@ -18,6 +18,7 @@ export { Dropdown } from './Dropdown/index.js';
18
18
  export { EmptyState } from './EmptyState/index.js';
19
19
  export { FileUpload } from './FileUpload/index.js';
20
20
  export { HtmlTypewriter } from './HtmlTypeWriter/index.js';
21
+ export { IconButton } from './IconButton/index.js';
21
22
  export { ImageSelector } from './ImageSelector/index.js';
22
23
  export { Input, PasswordInput } from './Input/index.js';
23
24
  export { Modal } from './Modal/index.js';