juneau 0.9.0 → 0.9.1

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 (2) hide show
  1. package/README.md +56 -0
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -954,23 +954,79 @@ Only keys you specify are overridden — everything else keeps its default. Over
954
954
  | `colorPrimary` | `--juneau-color-primary` | `#000000` | Send button, user bubble |
955
955
  | `colorPrimaryDark` | `--juneau-color-primary-dark` | `#252528` | Primary hover state |
956
956
  | `colorPrimaryLight` | `--juneau-color-primary-light` | `#ECECEC` | Primary tinted backgrounds |
957
+ | `colorPrimaryBorder` | `--juneau-color-primary-border` | `#E8E8EC` | Primary tinted borders |
957
958
  | `colorAccent` | `--juneau-color-accent` | `#FF49A4` | Header bg, proposal confirm, avatar |
958
959
  | `colorAccentDark` | `--juneau-color-accent-dark` | `#FF6BB3` | Accent hover |
959
960
  | `colorAccentLight` | `--juneau-color-accent-light` | `#FFF0F7` | Proposal card background |
961
+ | `colorAccentBorder` | `--juneau-color-accent-border` | `#FFBDD9` | Proposal card border |
960
962
  | `colorSurface` | `--juneau-color-surface` | `#FFFFFF` | Cards, sidebar, input background |
961
963
  | `colorSurfaceRaised` | `--juneau-color-surface-raised` | `#F4F4F6` | Page background, table headers |
962
964
  | `colorSurfaceHover` | `--juneau-color-surface-hover` | `#ECECEC` | Row hover |
963
965
  | `colorBorder` | `--juneau-color-border` | `#E8E8EC` | Default borders |
966
+ | `colorBorderSubtle` | `--juneau-color-border-subtle` | `#ECECEC` | Table row dividers |
964
967
  | `colorTextPrimary` | `--juneau-color-text-primary` | `#000000` | Main body text |
965
968
  | `colorTextSecondary` | `--juneau-color-text-secondary` | `#474747` | Supporting text |
966
969
  | `colorTextMuted` | `--juneau-color-text-muted` | `#474747` | Labels, hints |
967
970
  | `colorTextFaint` | `--juneau-color-text-faint` | `#9090A0` | Empty states |
968
971
  | `colorTextInverse` | `--juneau-color-text-inverse` | `#FFFFFF` | Text on dark backgrounds |
969
972
  | `colorAssistantAvatar` | `--juneau-color-assistant-avatar` | `#FF49A4` | Assistant avatar circle |
973
+ | `colorErrorBg` | `--juneau-color-error-bg` | `#FFF0F7` | Error banner background |
974
+ | `colorErrorBorder` | `--juneau-color-error-border` | `#E6244A` | Error banner border |
975
+ | `colorErrorText` | `--juneau-color-error-text` | `#C41A3B` | Error text |
976
+ | `colorSuccessBg` | `--juneau-color-success-bg` | `#F4FDE8` | Success badge background |
977
+ | `colorSuccessText` | `--juneau-color-success-text` | `#3F7528` | Success badge text |
978
+ | `colorWarningBg` | `--juneau-color-warning-bg` | `#FFF6E5` | Warning badge background |
979
+ | `colorWarningText` | `--juneau-color-warning-text` | `#B37400` | Warning badge text |
980
+ | `colorDangerBg` | `--juneau-color-danger-bg` | `#FFF0F7` | Danger badge background |
981
+ | `colorDangerText` | `--juneau-color-danger-text` | `#C41A3B` | Danger badge text |
970
982
  | `radiusSm` | `--juneau-radius-sm` | `6px` | Buttons, small elements |
971
983
  | `radiusMd` | `--juneau-radius-md` | `8px` | Inputs, cards |
972
984
  | `radiusLg` | `--juneau-radius-lg` | `12px` | Panels, large cards |
985
+ | `radiusFull` | `--juneau-radius-full` | `9999px` | Pills, avatars, dots |
986
+ | `fontSizeXs` | `--juneau-font-size-xs` | `11px` | Badges |
987
+ | `fontSizeSm` | `--juneau-font-size-sm` | `12px` | Labels, captions |
988
+ | `fontSizeBase` | `--juneau-font-size-base` | `13px` | Default body, action buttons |
989
+ | `fontSizeMd` | `--juneau-font-size-md` | `14px` | Chat bubbles |
990
+ | `fontSizeLg` | `--juneau-font-size-lg` | `15px` | Section headings |
991
+ | `fontSizeXl` | `--juneau-font-size-xl` | `16px` | App title |
992
+ | `fontSize2xl` | `--juneau-font-size-2xl` | `22px` | KPI values |
993
+ | `fontSize3xl` | `--juneau-font-size-3xl` | `24px` | Page titles |
973
994
  | `fontFamily` | `--juneau-font-family` | system-ui | Font used across all components |
995
+ | `transitionFast` | `--juneau-transition-fast` | `0.15s` | All transitions |
996
+
997
+ ### Styling hooks (`data-juneau` attributes)
998
+
999
+ Beyond tokens, key elements carry stable `data-juneau` attributes so you can target them with plain CSS — internal class names are hashed and must not be relied on.
1000
+
1001
+ ```css
1002
+ /* Example: wider bubbles and a custom user bubble background */
1003
+ [data-juneau='message'][data-juneau-role='user'] [data-juneau-segment='bubble'] {
1004
+ background: rebeccapurple;
1005
+ }
1006
+ [data-juneau='input-textarea'] {
1007
+ min-height: 80px;
1008
+ }
1009
+ ```
1010
+
1011
+ | Attribute | Element |
1012
+ |---|---|
1013
+ | `data-juneau="sidebar"` | `AiSidebar` root `<aside>` |
1014
+ | `data-juneau="chat"` | `AiChat` root |
1015
+ | `data-juneau="header"` | `AiChatHeader` root |
1016
+ | `data-juneau="message-list"` | `AiMessageList` root |
1017
+ | `data-juneau="empty-state"` | Default empty state in `AiMessageList` |
1018
+ | `data-juneau="message"` + `data-juneau-role="user\|assistant"` | Each message row |
1019
+ | `data-juneau-segment="bubble\|card"` | Bubble / card segment inside a message |
1020
+ | `data-juneau="typing-indicator"` | Typing indicator |
1021
+ | `data-juneau="input"` | `AiInput` wrapper |
1022
+ | `data-juneau="input-textarea"` | `AiInput` textarea |
1023
+ | `data-juneau="error"` | `AiError` banner |
1024
+ | `data-juneau="history-list"` | `AiChatHistoryList` root |
1025
+ | `data-juneau="table-part"` | Table part wrapper |
1026
+ | `data-juneau="entity-card"` | Entity card (static and clickable) |
1027
+ | `data-juneau="entity-list-part"` | Entity list part wrapper |
1028
+ | `data-juneau="proposal-card"` | Proposal card |
1029
+ | `data-juneau="activity-part"` | Activity part (also has `data-status`) |
974
1030
 
975
1031
  ---
976
1032
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juneau",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Open-source React/TypeScript library for AI chat UI components",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",