@reforma/components 0.2.0 → 0.2.2

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 (34) hide show
  1. package/dist/Button/Button.module.css +1 -1
  2. package/dist/List/Menu.d.ts.map +1 -1
  3. package/dist/List/Menu.js +98 -84
  4. package/dist/List/Menu.js.map +1 -1
  5. package/dist/chat/Chip/Chip.js +9 -9
  6. package/dist/chat/Chip/Chip.module.css.js +8 -8
  7. package/dist/chat/Chip/helpers/cursorLines.d.ts +1 -0
  8. package/dist/chat/Chip/helpers/cursorLines.d.ts.map +1 -1
  9. package/dist/chat/Chip/helpers/cursorLines.js +27 -21
  10. package/dist/chat/Chip/helpers/cursorLines.js.map +1 -1
  11. package/dist/chat/Chip/index.d.ts +1 -1
  12. package/dist/chat/Chip/index.d.ts.map +1 -1
  13. package/dist/chat/Chip/index.js +9 -8
  14. package/dist/chat/Message/segments/MessagePhaseSection.module.css +1 -1
  15. package/dist/chat/Message/streamdown/options.d.ts +2 -0
  16. package/dist/chat/Message/streamdown/options.d.ts.map +1 -1
  17. package/dist/chat/Message/streamdown/options.js +13 -12
  18. package/dist/chat/Message/streamdown/options.js.map +1 -1
  19. package/dist/chat/Message/turn/MessageUserBubble.d.ts.map +1 -1
  20. package/dist/chat/Message/turn/MessageUserBubble.js +57 -54
  21. package/dist/chat/Message/turn/MessageUserBubble.js.map +1 -1
  22. package/dist/chat/Tool/mountTool.d.ts.map +1 -1
  23. package/dist/chat/Tool/remove-file/RemoveFileTool.d.ts +1 -1
  24. package/dist/chat/Tool/remove-file/RemoveFileTool.d.ts.map +1 -1
  25. package/dist/chat/Tool/remove-file/RemoveFileTool.js +82 -38
  26. package/dist/chat/Tool/remove-file/RemoveFileTool.js.map +1 -1
  27. package/dist/chat/Tool/remove-file/RemoveFileTool.module.css +1 -0
  28. package/dist/chat/Tool/remove-file/RemoveFileTool.module.css.js +8 -0
  29. package/dist/chat/Tool/remove-file/RemoveFileTool.module.css.js.map +1 -0
  30. package/dist/chat/index.js +110 -109
  31. package/dist/index.js +417 -416
  32. package/dist/openui/functions/index.d.ts +59 -59
  33. package/dist/openui/functions/index.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- @layer components{.Button_button_FnkZgZ{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-border-width: .0625rem;--reforma-button-color: inherit;--reforma-button-opacity: 1;--reforma-button-bg--hover: transparent;--reforma-button-color--hover: inherit;--reforma-button-border--hover: transparent;--reforma-button-opacity--hover: 1;--reforma-button-transform-pressed: scale(.97);--reforma-button-radius: var(--radius-lg);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;text-decoration:none;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative;flex-shrink:0;justify-content:center;align-items:center;gap:var(--spacing-sm);opacity:var(--reforma-button-opacity);border:var(--reforma-button-border-width) solid var(--reforma-button-border);background-color:var(--reforma-button-bg);width:-moz-fit-content;width:fit-content;min-width:var(--reforma-button-size, auto);height:var(--reforma-button-size, auto);color:var(--reforma-button-color);font-weight:500;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;transition-duration:.15s;transition-property:background-color,border-color,color,opacity,transform;transition-timing-function:ease-out;outline:none;user-select:none}.Button_button_FnkZgZ[data-hovered=true],.Button_button_FnkZgZ[data-pressed=true]{opacity:var(--reforma-button-opacity--hover);border-color:var(--reforma-button-border--hover);background-color:var(--reforma-button-bg--hover);color:var(--reforma-button-color--hover)}.Button_button_FnkZgZ[data-pressed=true]{transform:var(--reforma-button-transform-pressed)}.Button_button_FnkZgZ[data-focus-visible=true]{outline:var(--spacing-4) solid var(--color-primary-muted-border);outline-offset:0}.Button_button_FnkZgZ[data-size=xs]{--reforma-button-size: var(--spacing-24);--reforma-button-radius: var(--radius-sm);padding:var(--spacing-4) var(--spacing-10);font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=sm]{--reforma-button-size: var(--spacing-30);--reforma-button-radius: var(--radius-md);padding:var(--spacing-4) var(--spacing-10);font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=md]{--reforma-button-size: var(--spacing-36);--reforma-button-radius: var(--radius-lg);padding:var(--spacing-6) var(--spacing-14);font-weight:400;font-size:var(--text-md);line-height:var(--leading-md);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=lg]{--reforma-button-size: var(--spacing-56);--reforma-button-radius: var(--radius-xl);padding:var(--spacing-10) var(--spacing-30);font-weight:500;font-size:var(--text-lg);line-height:var(--leading-lg);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=xs],.Button_button_FnkZgZ[data-size=sm],.Button_button_FnkZgZ[data-size=md],.Button_button_FnkZgZ[data-size=lg]{border-radius:calc(var(--reforma-button-radius) * var(--squircle-radius-factor));corner-shape:superellipse(var(--squircle-value))}.Button_button_FnkZgZ[data-icon-only]{padding:0;--reforma-button-transform-pressed: scale(.92)}.Button_button_FnkZgZ[data-variant=icon]{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-opacity--hover: var(--opacity-hover);padding:0;min-width:auto;height:auto;min-height:auto}.Button_button_FnkZgZ[data-variant=icon][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-rounded=true]{--reforma-button-radius: var(--radius-full);border-radius:var(--radius-full);corner-shape:round}.Button_button_FnkZgZ[data-variant=filled][data-color=primary]{--reforma-button-bg: var(--color-primary);--reforma-button-color: var(--color-primary-content);--reforma-button-bg--hover: var(--color-primary-light);--reforma-button-color--hover: var(--color-primary-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=secondary]{--reforma-button-bg: var(--color-secondary);--reforma-button-color: var(--color-secondary-content);--reforma-button-bg--hover: var(--color-secondary-light);--reforma-button-color--hover: var(--color-secondary-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=accent]{--reforma-button-bg: var(--color-accent);--reforma-button-color: var(--color-accent-content);--reforma-button-bg--hover: var(--color-accent-light);--reforma-button-color--hover: var(--color-accent-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=danger]{--reforma-button-bg: var(--color-danger);--reforma-button-color: var(--color-danger-content);--reforma-button-bg--hover: var(--color-danger-light);--reforma-button-color--hover: var(--color-danger-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=warning]{--reforma-button-bg: var(--color-warning);--reforma-button-color: var(--color-warning-content);--reforma-button-bg--hover: var(--color-warning-light);--reforma-button-color--hover: var(--color-warning-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=success]{--reforma-button-bg: var(--color-success);--reforma-button-color: var(--color-success-content);--reforma-button-bg--hover: var(--color-success-light);--reforma-button-color--hover: var(--color-success-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=contrast]{--reforma-button-bg: var(--color-contrast);--reforma-button-color: var(--color-contrast-content);--reforma-button-bg--hover: var(--color-contrast-light);--reforma-button-color--hover: var(--color-contrast-content)}.Button_button_FnkZgZ[data-variant=ghost]{--reforma-button-border: transparent;--reforma-button-border--hover: transparent}.Button_button_FnkZgZ[data-variant=ghost][data-color=primary]{--reforma-button-bg: var(--color-primary-muted-light);--reforma-button-color: var(--color-primary-muted-content);--reforma-button-bg--hover: var(--color-primary-muted);--reforma-button-color--hover: var(--color-primary-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=secondary]{--reforma-button-bg: var(--color-secondary-muted-light);--reforma-button-color: var(--color-secondary-muted-content);--reforma-button-bg--hover: var(--color-secondary-muted);--reforma-button-color--hover: var(--color-secondary-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=accent]{--reforma-button-bg: var(--color-accent-muted-light);--reforma-button-color: var(--color-accent-muted-content);--reforma-button-bg--hover: var(--color-accent-muted);--reforma-button-color--hover: var(--color-accent-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=danger]{--reforma-button-bg: var(--color-danger-muted-light);--reforma-button-color: var(--color-danger-muted-content);--reforma-button-bg--hover: var(--color-danger-muted);--reforma-button-color--hover: var(--color-danger-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=warning]{--reforma-button-bg: var(--color-warning-muted-light);--reforma-button-color: var(--color-warning-muted-content);--reforma-button-bg--hover: var(--color-warning-muted);--reforma-button-color--hover: var(--color-warning-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=success]{--reforma-button-bg: var(--color-success-muted-light);--reforma-button-color: var(--color-success-muted-content);--reforma-button-bg--hover: var(--color-success-muted);--reforma-button-color--hover: var(--color-success-muted-content)}.Button_button_FnkZgZ[data-variant=filling][data-color=primary]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-primary-text);--reforma-button-bg--hover: var(--color-primary-muted-light);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=secondary]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-text);--reforma-button-bg--hover: var(--color-secondary-muted-light);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=accent]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-accent-text);--reforma-button-bg--hover: var(--color-accent-muted-light);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=danger]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-danger-text);--reforma-button-bg--hover: var(--color-danger-muted-light);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=warning]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-warning-text);--reforma-button-bg--hover: var(--color-warning-muted-light);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=success]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-success-text);--reforma-button-bg--hover: var(--color-success-muted-light);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=inherit]{--reforma-button-bg: transparent;--reforma-button-color: inherit;--reforma-button-bg--hover: var(--color-secondary-muted-light);--reforma-button-color--hover: inherit}.Button_button_FnkZgZ[data-variant=transparent]{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-opacity--hover: var(--opacity-hover)}.Button_button_FnkZgZ[data-variant=transparent][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=inherit]{--reforma-button-color: inherit;--reforma-button-opacity: 1;--reforma-button-color--hover: inherit;--reforma-button-opacity--hover: 1}.Button_button_FnkZgZ[data-variant=inline]{--reforma-button-bg: transparent;--reforma-button-opacity--hover: var(--opacity-hover);--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-transform-pressed: scale(.99);padding:0;min-width:auto;height:auto;font-weight:inherit;font-size:inherit;line-height:inherit;-webkit-user-select:auto;-moz-user-select:auto;border:none;user-select:auto}.Button_button_FnkZgZ[data-variant=inline][data-color=inherit]{--reforma-button-color: inherit;--reforma-button-color--hover: inherit}.Button_button_FnkZgZ[data-variant=inline][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-opacity: var(--opacity-hover);--reforma-button-opacity--hover: 1}.Button_button_FnkZgZ[data-variant=inline][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=bordered][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text);--reforma-button-border: var(--color-primary-border);--reforma-button-border--hover: var(--color-primary-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-border: var(--color-secondary-border);--reforma-button-border--hover: var(--color-secondary-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text);--reforma-button-border: var(--color-accent-border);--reforma-button-border--hover: var(--color-accent-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text);--reforma-button-border: var(--color-danger-border);--reforma-button-border--hover: var(--color-danger-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text);--reforma-button-border: var(--color-warning-border);--reforma-button-border--hover: var(--color-warning-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text);--reforma-button-border: var(--color-success-border);--reforma-button-border--hover: var(--color-success-border-hover)}.Button_button_FnkZgZ[data-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.Button_button_FnkZgZ[data-pending=true]{cursor:default}.Button_content_DBcItB{display:flex;flex:1;justify-content:center;align-items:center;gap:var(--spacing-sm)}.Button_button_FnkZgZ[data-full-width],.Button_button_FnkZgZ[data-truncate]{flex-shrink:1;min-width:0;max-width:100%}.Button_button_FnkZgZ[data-truncate]{overflow:hidden}.Button_button_FnkZgZ[data-truncate] .Button_content_DBcItB{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden}.Button_content_DBcItB[data-hidden=true]{opacity:0}.Button_spinner_HzkMPw{--spinner-color: currentColor;--spinner-size: calc(var(--reforma-button-size) * .44);--spinner-width: 2px;display:flex;position:absolute;justify-content:center;align-items:center;inset:0}}
1
+ @layer components{.Button_button_FnkZgZ{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-border-width: .0625rem;--reforma-button-color: inherit;--reforma-button-opacity: 1;--reforma-button-bg--hover: transparent;--reforma-button-color--hover: inherit;--reforma-button-border--hover: transparent;--reforma-button-opacity--hover: 1;--reforma-button-transform-pressed: scale(.97);--reforma-button-radius: var(--radius-lg);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;text-decoration:none;-webkit-tap-highlight-color:transparent;display:inline-flex;position:relative;flex-shrink:0;justify-content:center;align-items:center;gap:var(--spacing-sm);opacity:var(--reforma-button-opacity);border:var(--reforma-button-border-width) solid var(--reforma-button-border);background-color:var(--reforma-button-bg);width:-moz-fit-content;width:fit-content;min-width:var(--reforma-button-size, auto);height:var(--reforma-button-size, auto);color:var(--reforma-button-color);font-weight:500;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;transition-duration:.15s;transition-property:background-color,border-color,color,opacity,transform;transition-timing-function:ease-out;outline:none;user-select:none}.Button_button_FnkZgZ[data-hovered=true],.Button_button_FnkZgZ[data-pressed=true]{opacity:var(--reforma-button-opacity--hover);border-color:var(--reforma-button-border--hover);background-color:var(--reforma-button-bg--hover);color:var(--reforma-button-color--hover)}.Button_button_FnkZgZ:active{transform:var(--reforma-button-transform-pressed)}.Button_button_FnkZgZ[data-focus-visible=true]{outline:var(--spacing-4) solid var(--color-primary-muted-border);outline-offset:0}.Button_button_FnkZgZ[data-size=xs]{--reforma-button-size: var(--spacing-24);--reforma-button-radius: var(--radius-sm);padding:var(--spacing-4) var(--spacing-10);font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=sm]{--reforma-button-size: var(--spacing-30);--reforma-button-radius: var(--radius-md);padding:var(--spacing-4) var(--spacing-10);font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=md]{--reforma-button-size: var(--spacing-36);--reforma-button-radius: var(--radius-lg);padding:var(--spacing-6) var(--spacing-14);font-weight:400;font-size:var(--text-md);line-height:var(--leading-md);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=lg]{--reforma-button-size: var(--spacing-56);--reforma-button-radius: var(--radius-xl);padding:var(--spacing-10) var(--spacing-30);font-weight:500;font-size:var(--text-lg);line-height:var(--leading-lg);font-family:Onest,sans-serif;letter-spacing:0}.Button_button_FnkZgZ[data-size=xs],.Button_button_FnkZgZ[data-size=sm],.Button_button_FnkZgZ[data-size=md],.Button_button_FnkZgZ[data-size=lg]{border-radius:calc(var(--reforma-button-radius) * var(--squircle-radius-factor));corner-shape:superellipse(var(--squircle-value))}.Button_button_FnkZgZ[data-icon-only]{padding:0;--reforma-button-transform-pressed: scale(.92)}.Button_button_FnkZgZ[data-variant=icon]{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-opacity--hover: var(--opacity-hover);padding:0;min-width:auto;height:auto;min-height:auto}.Button_button_FnkZgZ[data-variant=icon][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=icon][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-rounded=true]{--reforma-button-radius: var(--radius-full);border-radius:var(--radius-full);corner-shape:round}.Button_button_FnkZgZ[data-variant=filled][data-color=primary]{--reforma-button-bg: var(--color-primary);--reforma-button-color: var(--color-primary-content);--reforma-button-bg--hover: var(--color-primary-light);--reforma-button-color--hover: var(--color-primary-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=secondary]{--reforma-button-bg: var(--color-secondary);--reforma-button-color: var(--color-secondary-content);--reforma-button-bg--hover: var(--color-secondary-light);--reforma-button-color--hover: var(--color-secondary-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=accent]{--reforma-button-bg: var(--color-accent);--reforma-button-color: var(--color-accent-content);--reforma-button-bg--hover: var(--color-accent-light);--reforma-button-color--hover: var(--color-accent-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=danger]{--reforma-button-bg: var(--color-danger);--reforma-button-color: var(--color-danger-content);--reforma-button-bg--hover: var(--color-danger-light);--reforma-button-color--hover: var(--color-danger-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=warning]{--reforma-button-bg: var(--color-warning);--reforma-button-color: var(--color-warning-content);--reforma-button-bg--hover: var(--color-warning-light);--reforma-button-color--hover: var(--color-warning-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=success]{--reforma-button-bg: var(--color-success);--reforma-button-color: var(--color-success-content);--reforma-button-bg--hover: var(--color-success-light);--reforma-button-color--hover: var(--color-success-content)}.Button_button_FnkZgZ[data-variant=filled][data-color=contrast]{--reforma-button-bg: var(--color-contrast);--reforma-button-color: var(--color-contrast-content);--reforma-button-bg--hover: var(--color-contrast-light);--reforma-button-color--hover: var(--color-contrast-content)}.Button_button_FnkZgZ[data-variant=ghost]{--reforma-button-border: transparent;--reforma-button-border--hover: transparent}.Button_button_FnkZgZ[data-variant=ghost][data-color=primary]{--reforma-button-bg: var(--color-primary-muted-light);--reforma-button-color: var(--color-primary-muted-content);--reforma-button-bg--hover: var(--color-primary-muted);--reforma-button-color--hover: var(--color-primary-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=secondary]{--reforma-button-bg: var(--color-secondary-muted-light);--reforma-button-color: var(--color-secondary-muted-content);--reforma-button-bg--hover: var(--color-secondary-muted);--reforma-button-color--hover: var(--color-secondary-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=accent]{--reforma-button-bg: var(--color-accent-muted-light);--reforma-button-color: var(--color-accent-muted-content);--reforma-button-bg--hover: var(--color-accent-muted);--reforma-button-color--hover: var(--color-accent-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=danger]{--reforma-button-bg: var(--color-danger-muted-light);--reforma-button-color: var(--color-danger-muted-content);--reforma-button-bg--hover: var(--color-danger-muted);--reforma-button-color--hover: var(--color-danger-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=warning]{--reforma-button-bg: var(--color-warning-muted-light);--reforma-button-color: var(--color-warning-muted-content);--reforma-button-bg--hover: var(--color-warning-muted);--reforma-button-color--hover: var(--color-warning-muted-content)}.Button_button_FnkZgZ[data-variant=ghost][data-color=success]{--reforma-button-bg: var(--color-success-muted-light);--reforma-button-color: var(--color-success-muted-content);--reforma-button-bg--hover: var(--color-success-muted);--reforma-button-color--hover: var(--color-success-muted-content)}.Button_button_FnkZgZ[data-variant=filling][data-color=primary]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-primary-text);--reforma-button-bg--hover: var(--color-primary-muted-light);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=secondary]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-text);--reforma-button-bg--hover: var(--color-secondary-muted-light);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=accent]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-accent-text);--reforma-button-bg--hover: var(--color-accent-muted-light);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=danger]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-danger-text);--reforma-button-bg--hover: var(--color-danger-muted-light);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=warning]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-warning-text);--reforma-button-bg--hover: var(--color-warning-muted-light);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=success]{--reforma-button-bg: transparent;--reforma-button-color: var(--color-success-text);--reforma-button-bg--hover: var(--color-success-muted-light);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=filling][data-color=inherit]{--reforma-button-bg: transparent;--reforma-button-color: inherit;--reforma-button-bg--hover: var(--color-secondary-muted-light);--reforma-button-color--hover: inherit}.Button_button_FnkZgZ[data-variant=transparent]{--reforma-button-bg: transparent;--reforma-button-border: transparent;--reforma-button-opacity--hover: var(--opacity-hover)}.Button_button_FnkZgZ[data-variant=transparent][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=transparent][data-color=inherit]{--reforma-button-color: inherit;--reforma-button-opacity: 1;--reforma-button-color--hover: inherit;--reforma-button-opacity--hover: 1}.Button_button_FnkZgZ[data-variant=inline]{--reforma-button-bg: transparent;--reforma-button-opacity--hover: var(--opacity-hover);--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-transform-pressed: scale(.99);padding:0;min-width:auto;height:auto;font-weight:inherit;font-size:inherit;line-height:inherit;-webkit-user-select:auto;-moz-user-select:auto;border:none;user-select:auto}.Button_button_FnkZgZ[data-variant=inline][data-color=inherit]{--reforma-button-color: inherit;--reforma-button-color--hover: inherit}.Button_button_FnkZgZ[data-variant=inline][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-opacity: var(--opacity-hover);--reforma-button-opacity--hover: 1}.Button_button_FnkZgZ[data-variant=inline][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text)}.Button_button_FnkZgZ[data-variant=inline][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text)}.Button_button_FnkZgZ[data-variant=bordered][data-color=primary]{--reforma-button-color: var(--color-primary-text);--reforma-button-color--hover: var(--color-primary-text);--reforma-button-border: var(--color-primary-border);--reforma-button-border--hover: var(--color-primary-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=secondary]{--reforma-button-color: var(--color-text);--reforma-button-color--hover: var(--color-text);--reforma-button-border: var(--color-secondary-border);--reforma-button-border--hover: var(--color-secondary-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=accent]{--reforma-button-color: var(--color-accent-text);--reforma-button-color--hover: var(--color-accent-text);--reforma-button-border: var(--color-accent-border);--reforma-button-border--hover: var(--color-accent-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=danger]{--reforma-button-color: var(--color-danger-text);--reforma-button-color--hover: var(--color-danger-text);--reforma-button-border: var(--color-danger-border);--reforma-button-border--hover: var(--color-danger-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=warning]{--reforma-button-color: var(--color-warning-text);--reforma-button-color--hover: var(--color-warning-text);--reforma-button-border: var(--color-warning-border);--reforma-button-border--hover: var(--color-warning-border-hover)}.Button_button_FnkZgZ[data-variant=bordered][data-color=success]{--reforma-button-color: var(--color-success-text);--reforma-button-color--hover: var(--color-success-text);--reforma-button-border: var(--color-success-border);--reforma-button-border--hover: var(--color-success-border-hover)}.Button_button_FnkZgZ[data-disabled=true]{opacity:var(--opacity-disabled);cursor:not-allowed;pointer-events:none}.Button_button_FnkZgZ[data-pending=true]{cursor:default}.Button_content_DBcItB{display:flex;flex:1;justify-content:center;align-items:center;gap:var(--spacing-sm)}.Button_button_FnkZgZ[data-full-width],.Button_button_FnkZgZ[data-truncate]{flex-shrink:1;min-width:0;max-width:100%}.Button_button_FnkZgZ[data-truncate]{overflow:hidden}.Button_button_FnkZgZ[data-truncate] .Button_content_DBcItB{flex:0 1 auto;min-width:0;max-width:100%;overflow:hidden}.Button_content_DBcItB[data-hidden=true]{opacity:0}.Button_spinner_HzkMPw{--spinner-color: currentColor;--spinner-size: calc(var(--reforma-button-size) * .44);--spinner-width: 2px;display:flex;position:absolute;justify-content:center;align-items:center;inset:0}}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/List/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/List/Menu.tsx"],"names":[],"mappings":"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"}
package/dist/List/Menu.js CHANGED
@@ -1,115 +1,129 @@
1
- import { cn as a, mergeRefs as y } from "@reforma/lib";
2
- import { useRef as g } from "react";
3
- import { Menu as N, Header as v, MenuItem as h, MenuSection as H, Separator as I } from "react-aria-components";
4
- import { MenuTrigger as K, SubmenuTrigger as Q } from "react-aria-components";
5
- import { Tooltip as x } from "../Tooltip/Tooltip.js";
6
- import { resolveOverlayWidth as R } from "../utils/resolveOverlayWidth.js";
7
- import n from "./ListBox.module.css.js";
8
- import { renderListRowItemContent as L } from "./listRowItemContent.js";
9
- import { useListHoverHighlight as T } from "./useListHoverHighlight.js";
10
- import { useScrollActiveListItem as $ } from "./useScrollActiveListItem.js";
1
+ import { cn as a, mergeRefs as T } from "@reforma/lib";
2
+ import { useRef as H, useState as b, useLayoutEffect as x } from "react";
3
+ import { Menu as D, Header as $, MenuItem as w, MenuSection as A, Separator as W } from "react-aria-components";
4
+ import { MenuTrigger as ne, SubmenuTrigger as re } from "react-aria-components";
5
+ import { Tooltip as q } from "../Tooltip/Tooltip.js";
6
+ import { resolveOverlayWidth as z } from "../utils/resolveOverlayWidth.js";
7
+ import r from "./ListBox.module.css.js";
8
+ import { renderListRowItemContent as C } from "./listRowItemContent.js";
9
+ import { useListHoverHighlight as E } from "./useListHoverHighlight.js";
10
+ import { useScrollActiveListItem as F } from "./useScrollActiveListItem.js";
11
11
  import { jsx as o } from "react/jsx-runtime";
12
- function w({
13
- className: e,
14
- size: t = "sm",
12
+ function O({
13
+ className: t,
14
+ size: n = "sm",
15
15
  selectionMode: i = "none",
16
- interactive: r = !0,
17
- style: u,
18
- width: s,
19
- ...m
16
+ interactive: e = !0,
17
+ style: m,
18
+ width: u,
19
+ ...s
20
20
  }) {
21
- const l = g(null);
22
- T(l, r);
23
- const c = R(s), f = c != null || u != null ? {
24
- ...u,
25
- ...c
21
+ const c = H(null);
22
+ E(c, e);
23
+ const l = z(u), d = l != null || m != null ? {
24
+ ...m,
25
+ ...l
26
26
  } : void 0;
27
- return /* @__PURE__ */ o(N, {
28
- className: a(n.list, n.menuList, e),
29
- style: f,
27
+ return /* @__PURE__ */ o(D, {
28
+ className: a(r.list, r.menuList, t),
29
+ style: d,
30
30
  selectionMode: i,
31
- "data-size": t,
32
- "data-interactive": r || void 0,
33
- ...m,
34
- ref: l
31
+ "data-size": n,
32
+ "data-interactive": e || void 0,
33
+ ...s,
34
+ ref: c
35
35
  });
36
36
  }
37
37
  function V({
38
- startAffix: e,
39
- icon: t,
38
+ startAffix: t,
39
+ icon: n,
40
40
  text: i,
41
- description: r,
42
- endAffix: u,
43
- stacked: s,
44
- children: m,
45
- className: l,
46
- isDanger: c,
47
- ref: f,
48
- ...p
41
+ description: e,
42
+ endAffix: m,
43
+ stacked: u,
44
+ children: s,
45
+ className: c,
46
+ isDanger: l,
47
+ ref: d,
48
+ ...M
49
49
  }) {
50
- const M = g(null), d = i || p.textValue || (typeof m == "string" ? m : void 0);
51
- $(M);
52
- const S = /* @__PURE__ */ o(h, {
53
- ref: y(M, f),
54
- className: a(n.item, s && n.itemStacked, c && n.itemDanger, l),
55
- textValue: d,
56
- ...p,
57
- children: L(m, {
58
- icon: t,
59
- description: r,
60
- startAffix: e,
61
- endAffix: u,
62
- stacked: s,
63
- textValue: d
50
+ const p = H(null), S = i || M.textValue || (typeof s == "string" ? s : void 0), [I, L] = b(!1);
51
+ F(p), x(() => {
52
+ if (typeof e != "string" || e.length === 0)
53
+ return;
54
+ const f = p.current?.querySelector(`.${CSS.escape(r.itemDescription)}`);
55
+ if (!(f instanceof HTMLElement))
56
+ return;
57
+ const g = () => {
58
+ const N = f.scrollWidth > f.clientWidth + 1;
59
+ L((h) => h === N ? h : N);
60
+ }, R = requestAnimationFrame(g), v = new ResizeObserver(g);
61
+ return v.observe(f), () => {
62
+ cancelAnimationFrame(R), v.disconnect();
63
+ };
64
+ }, [e]);
65
+ const y = /* @__PURE__ */ o(w, {
66
+ ref: T(p, d),
67
+ className: a(r.item, u && r.itemStacked, l && r.itemDanger, c),
68
+ textValue: S,
69
+ ...M,
70
+ children: C(s, {
71
+ icon: n,
72
+ description: e,
73
+ startAffix: t,
74
+ endAffix: m,
75
+ stacked: u,
76
+ textValue: S
64
77
  })
65
78
  });
66
- return typeof r != "string" || r.length <= 30 ? S : /* @__PURE__ */ o(x, {
67
- content: r,
79
+ return typeof e != "string" || e.length === 0 ? y : /* @__PURE__ */ o(q, {
80
+ content: e,
68
81
  placement: "right",
69
- children: S
82
+ isDisabled: !I,
83
+ children: y
70
84
  });
71
85
  }
72
- function b({
73
- className: e,
74
- ...t
86
+ function j({
87
+ className: t,
88
+ ...n
75
89
  }) {
76
- return /* @__PURE__ */ o(I, {
77
- className: a(n.menuSeparator, e),
78
- ...t
90
+ return /* @__PURE__ */ o(W, {
91
+ className: a(r.menuSeparator, t),
92
+ ...n
79
93
  });
80
94
  }
81
- function j({
82
- className: e,
83
- sticky: t,
95
+ function k({
96
+ className: t,
97
+ sticky: n,
84
98
  ...i
85
99
  }) {
86
- return /* @__PURE__ */ o(v, {
87
- className: a(n.sectionHeader, e),
100
+ return /* @__PURE__ */ o($, {
101
+ className: a(r.sectionHeader, t),
88
102
  ...i,
89
- "data-sticky": t || void 0
103
+ "data-sticky": n || void 0
90
104
  });
91
105
  }
92
- function k({
93
- className: e,
94
- ...t
106
+ function B({
107
+ className: t,
108
+ ...n
95
109
  }) {
96
- return /* @__PURE__ */ o(H, {
97
- className: a(n.section, e),
98
- ...t
110
+ return /* @__PURE__ */ o(A, {
111
+ className: a(r.section, t),
112
+ ...n
99
113
  });
100
114
  }
101
- w.displayName = "Menu";
115
+ O.displayName = "Menu";
102
116
  V.displayName = "MenuItem";
103
- b.displayName = "MenuSeparator";
104
- j.displayName = "MenuHeader";
105
- k.displayName = "MenuSection";
117
+ j.displayName = "MenuSeparator";
118
+ k.displayName = "MenuHeader";
119
+ B.displayName = "MenuSection";
106
120
  export {
107
- w as Menu,
108
- j as MenuHeader,
121
+ O as Menu,
122
+ k as MenuHeader,
109
123
  V as MenuItem,
110
- k as MenuSection,
111
- b as MenuSeparator,
112
- K as MenuTrigger,
113
- Q as SubmenuTrigger
124
+ B as MenuSection,
125
+ j as MenuSeparator,
126
+ ne as MenuTrigger,
127
+ re as SubmenuTrigger
114
128
  };
115
129
  //# sourceMappingURL=Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sources":["../../src/List/Menu.tsx"],"sourcesContent":["import { cn, mergeRefs } from '@reforma/lib';\nimport { useRef } from 'react';\nimport {\n Header as AriaHeader,\n Menu as AriaMenu,\n MenuItem as AriaMenuItem,\n MenuSection as AriaMenuSection,\n Separator as AriaSeparator,\n MenuTrigger,\n SubmenuTrigger,\n type MenuItemProps as AriaMenuItemProps,\n type MenuProps as AriaMenuProps,\n type MenuSectionProps as AriaMenuSectionProps,\n type SeparatorProps as AriaSeparatorProps,\n} from 'react-aria-components';\n\nimport { Tooltip } from '../Tooltip';\nimport { resolveOverlayWidth, type OverlayWidth } from '../utils/resolveOverlayWidth';\nimport styles from './ListBox.module.css';\nimport { renderListRowItemContent } from './listRowItemContent';\nimport { useListHoverHighlight } from './useListHoverHighlight';\nimport { useScrollActiveListItem } from './useScrollActiveListItem';\n\nimport type { CSSProperties, HTMLAttributes, ReactNode, Ref } from 'react';\n\nexport type {\n Key,\n MenuTriggerProps,\n SubmenuTriggerProps,\n} from 'react-aria-components';\n\nexport {\n MenuTrigger,\n SubmenuTrigger,\n};\n\nexport type MenuSize = 'sm' | 'md' | 'lg';\n\nexport interface MenuProps<T extends object = object> extends Omit<AriaMenuProps<T>, 'className' | 'style'> {\n className?: string;\n size?: MenuSize;\n interactive?: boolean;\n style?: CSSProperties;\n width?: OverlayWidth;\n}\n\nexport interface MenuItemSlots {\n icon?: ReactNode;\n description?: ReactNode;\n startAffix?: ReactNode;\n endAffix?: ReactNode;\n stacked?: boolean;\n}\n\nexport type MenuItemProps<T extends object = object> = Omit<AriaMenuItemProps<T>, 'className'>\n & MenuItemSlots & {\n className?: string;\n text?: string;\n isDanger?: boolean;\n };\n\n/** Command / action list (RAC **Menu**). For picker content in a popover, wrap **`ListBox`** in **`PopoverScroll`**. */\nexport function Menu<T extends object>({\n className,\n size = 'sm',\n selectionMode = 'none',\n interactive = true,\n style: styleProp,\n width,\n ...props\n}: MenuProps<T>) {\n const listRef = useRef<HTMLDivElement>(null);\n\n useListHoverHighlight(listRef, interactive);\n\n const widthStyle = resolveOverlayWidth(width);\n\n const style = (widthStyle != null || styleProp != null)\n ? { ...styleProp, ...widthStyle }\n : undefined;\n\n return (\n <AriaMenu\n className={ cn(styles.list, styles.menuList, className) }\n style={ style }\n selectionMode={ selectionMode }\n data-size={ size }\n data-interactive={ interactive || undefined }\n { ...props }\n ref={ listRef }\n />\n );\n}\n\nexport function MenuItem<T extends object>({\n startAffix,\n icon,\n text,\n description,\n endAffix,\n stacked,\n children,\n className,\n isDanger,\n ref,\n ...props\n}: MenuItemProps<T> & { ref?: Ref<HTMLDivElement> }) {\n const itemRef = useRef<HTMLDivElement>(null);\n const textValue = text || props.textValue || (typeof children === 'string' ? children : undefined);\n\n useScrollActiveListItem(itemRef);\n\n const item = (\n <AriaMenuItem\n ref={ mergeRefs(itemRef, ref) }\n className={ cn(styles.item, stacked && styles.itemStacked, isDanger && styles.itemDanger, className) }\n textValue={ textValue }\n { ...props }\n >\n { renderListRowItemContent(children, {\n icon,\n description,\n startAffix,\n endAffix,\n stacked,\n textValue,\n }) }\n </AriaMenuItem>\n );\n\n if (typeof description !== 'string' || description.length <= 30) {\n return item;\n }\n\n return (\n <Tooltip content={ description } placement=\"right\">\n { item }\n </Tooltip>\n );\n}\n\nexport function MenuSeparator({ className, ...props }: Omit<AriaSeparatorProps, 'className'> & { className?: string }) {\n return <AriaSeparator className={ cn(styles.menuSeparator, className) } { ...props } />;\n}\n\nexport function MenuHeader({ className, sticky, ...props }: HTMLAttributes<HTMLElement> & { sticky?: boolean }) {\n return <AriaHeader className={ cn(styles.sectionHeader, className) } { ...props } data-sticky={ sticky || undefined } />;\n}\n\nexport function MenuSection<T extends object>({ className, ...props }: Omit<AriaMenuSectionProps<T>, 'className'> & { className?: string }) {\n return <AriaMenuSection className={ cn(styles.section, className) } { ...props } />;\n}\n\nMenu.displayName = 'Menu';\nMenuItem.displayName = 'MenuItem';\nMenuSeparator.displayName = 'MenuSeparator';\nMenuHeader.displayName = 'MenuHeader';\nMenuSection.displayName = 'MenuSection';\n"],"names":["Menu","className","size","selectionMode","interactive","styleProp","width","props","listRef","useRef","useListHoverHighlight","widthStyle","resolveOverlayWidth","style","AriaMenu","cn","styles","MenuItem","startAffix","icon","text","description","endAffix","stacked","children","isDanger","ref","itemRef","textValue","useScrollActiveListItem","item","AriaMenuItem","mergeRefs","renderListRowItemContent","Tooltip","MenuSeparator","AriaSeparator","MenuHeader","sticky","AriaHeader","MenuSection","AriaMenuSection"],"mappings":";;;;;;;;;;;AAYO,SAASA,EAAK;AAAA,EACnB,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAAC;AAAA,EACA,GAAGC;AACL,GAAG;AACD,QAAMC,IAAUC,EAAO,IAAI;AAC3B,EAAAC,EAAsBF,GAASJ,CAAW;AAC1C,QAAMO,IAAaC,EAAoBN,CAAK,GACtCO,IAAQF,KAAc,QAAQN,KAAa,OAAO;AAAA,IACtD,GAAGA;AAAA,IACH,GAAGM;AAAA,EAAA,IACD;AACJ,2BAAyBG,GAAU;AAAA,IACjC,WAAWC,EAAGC,EAAO,MAAMA,EAAO,UAAUf,CAAS;AAAA,IACrD,OAAAY;AAAA,IACA,eAAAV;AAAA,IACA,aAAaD;AAAA,IACb,oBAAoBE,KAAe;AAAA,IACnC,GAAGG;AAAA,IACH,KAAKC;AAAA,EAAA,CACN;AACH;AACO,SAASS,EAAS;AAAA,EACvB,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAvB;AAAA,EACA,UAAAwB;AAAA,EACA,KAAAC;AAAA,EACA,GAAGnB;AACL,GAAG;AACD,QAAMoB,IAAUlB,EAAO,IAAI,GACrBmB,IAAYR,KAAQb,EAAM,cAAc,OAAOiB,KAAa,WAAWA,IAAW;AACxF,EAAAK,EAAwBF,CAAO;AAC/B,QAAMG,sBAAyBC,GAAc;AAAA,IAC3C,KAAKC,EAAUL,GAASD,CAAG;AAAA,IAC3B,WAAWX,EAAGC,EAAO,MAAMO,KAAWP,EAAO,aAAaS,KAAYT,EAAO,YAAYf,CAAS;AAAA,IAClG,WAAA2B;AAAA,IACA,GAAGrB;AAAA,IACH,UAAU0B,EAAyBT,GAAU;AAAA,MAC3C,MAAAL;AAAA,MACA,aAAAE;AAAA,MACA,YAAAH;AAAA,MACA,UAAAI;AAAA,MACA,SAAAC;AAAA,MACA,WAAAK;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AACD,SAAI,OAAOP,KAAgB,YAAYA,EAAY,UAAU,KACpDS,sBAEgBI,GAAS;AAAA,IAChC,SAASb;AAAA,IACT,WAAW;AAAA,IACX,UAAUS;AAAA,EAAA,CACX;AACH;AACO,SAASK,EAAc;AAAA,EAC5B,WAAAlC;AAAA,EACA,GAAGM;AACL,GAAG;AACD,2BAAyB6B,GAAe;AAAA,IACtC,WAAWrB,EAAGC,EAAO,eAAef,CAAS;AAAA,IAC7C,GAAGM;AAAA,EAAA,CACJ;AACH;AACO,SAAS8B,EAAW;AAAA,EACzB,WAAApC;AAAA,EACA,QAAAqC;AAAA,EACA,GAAG/B;AACL,GAAG;AACD,2BAAyBgC,GAAY;AAAA,IACnC,WAAWxB,EAAGC,EAAO,eAAef,CAAS;AAAA,IAC7C,GAAGM;AAAA,IACH,eAAe+B,KAAU;AAAA,EAAA,CAC1B;AACH;AACO,SAASE,EAAY;AAAA,EAC1B,WAAAvC;AAAA,EACA,GAAGM;AACL,GAAG;AACD,2BAAyBkC,GAAiB;AAAA,IACxC,WAAW1B,EAAGC,EAAO,SAASf,CAAS;AAAA,IACvC,GAAGM;AAAA,EAAA,CACJ;AACH;AACAP,EAAK,cAAc;AACnBiB,EAAS,cAAc;AACvBkB,EAAc,cAAc;AAC5BE,EAAW,cAAc;AACzBG,EAAY,cAAc;"}
1
+ {"version":3,"file":"Menu.js","sources":["../../src/List/Menu.tsx"],"sourcesContent":["import { cn, mergeRefs } from '@reforma/lib';\nimport { useLayoutEffect, useRef, useState } from 'react';\nimport {\n Header as AriaHeader,\n Menu as AriaMenu,\n MenuItem as AriaMenuItem,\n MenuSection as AriaMenuSection,\n Separator as AriaSeparator,\n MenuTrigger,\n SubmenuTrigger,\n type MenuItemProps as AriaMenuItemProps,\n type MenuProps as AriaMenuProps,\n type MenuSectionProps as AriaMenuSectionProps,\n type SeparatorProps as AriaSeparatorProps,\n} from 'react-aria-components';\n\nimport { Tooltip } from '../Tooltip';\nimport { resolveOverlayWidth, type OverlayWidth } from '../utils/resolveOverlayWidth';\nimport styles from './ListBox.module.css';\nimport { renderListRowItemContent } from './listRowItemContent';\nimport { useListHoverHighlight } from './useListHoverHighlight';\nimport { useScrollActiveListItem } from './useScrollActiveListItem';\n\nimport type { CSSProperties, HTMLAttributes, ReactNode, Ref } from 'react';\n\nexport type {\n Key,\n MenuTriggerProps,\n SubmenuTriggerProps,\n} from 'react-aria-components';\n\nexport {\n MenuTrigger,\n SubmenuTrigger,\n};\n\nexport type MenuSize = 'sm' | 'md' | 'lg';\n\nexport interface MenuProps<T extends object = object> extends Omit<AriaMenuProps<T>, 'className' | 'style'> {\n className?: string;\n size?: MenuSize;\n interactive?: boolean;\n style?: CSSProperties;\n width?: OverlayWidth;\n}\n\nexport interface MenuItemSlots {\n icon?: ReactNode;\n description?: ReactNode;\n startAffix?: ReactNode;\n endAffix?: ReactNode;\n stacked?: boolean;\n}\n\nexport type MenuItemProps<T extends object = object> = Omit<AriaMenuItemProps<T>, 'className'>\n & MenuItemSlots & {\n className?: string;\n text?: string;\n isDanger?: boolean;\n };\n\n/** Command / action list (RAC **Menu**). For picker content in a popover, wrap **`ListBox`** in **`PopoverScroll`**. */\nexport function Menu<T extends object>({\n className,\n size = 'sm',\n selectionMode = 'none',\n interactive = true,\n style: styleProp,\n width,\n ...props\n}: MenuProps<T>) {\n const listRef = useRef<HTMLDivElement>(null);\n\n useListHoverHighlight(listRef, interactive);\n\n const widthStyle = resolveOverlayWidth(width);\n\n const style = (widthStyle != null || styleProp != null)\n ? { ...styleProp, ...widthStyle }\n : undefined;\n\n return (\n <AriaMenu\n className={ cn(styles.list, styles.menuList, className) }\n style={ style }\n selectionMode={ selectionMode }\n data-size={ size }\n data-interactive={ interactive || undefined }\n { ...props }\n ref={ listRef }\n />\n );\n}\n\nexport function MenuItem<T extends object>({\n startAffix,\n icon,\n text,\n description,\n endAffix,\n stacked,\n children,\n className,\n isDanger,\n ref,\n ...props\n}: MenuItemProps<T> & { ref?: Ref<HTMLDivElement> }) {\n const itemRef = useRef<HTMLDivElement>(null);\n const textValue = text || props.textValue || (typeof children === 'string' ? children : undefined);\n const [descriptionTruncated, setDescriptionTruncated] = useState(false);\n\n useScrollActiveListItem(itemRef);\n\n useLayoutEffect(() => {\n if (typeof description !== 'string' || description.length === 0) {\n return;\n }\n\n const node = itemRef.current?.querySelector(`.${ CSS.escape(styles.itemDescription) }`);\n\n if (!(node instanceof HTMLElement)) {\n return;\n }\n\n const update = () => {\n const truncated = node.scrollWidth > node.clientWidth + 1;\n\n setDescriptionTruncated(current => (current === truncated ? current : truncated));\n };\n\n const frame = requestAnimationFrame(update);\n const observer = new ResizeObserver(update);\n\n observer.observe(node);\n\n return () => {\n cancelAnimationFrame(frame);\n observer.disconnect();\n };\n }, [description]);\n\n const item = (\n <AriaMenuItem\n ref={ mergeRefs(itemRef, ref) }\n className={ cn(styles.item, stacked && styles.itemStacked, isDanger && styles.itemDanger, className) }\n textValue={ textValue }\n { ...props }\n >\n { renderListRowItemContent(children, {\n icon,\n description,\n startAffix,\n endAffix,\n stacked,\n textValue,\n }) }\n </AriaMenuItem>\n );\n\n if (typeof description !== 'string' || description.length === 0) {\n return item;\n }\n\n return (\n <Tooltip content={ description } placement=\"right\" isDisabled={ !descriptionTruncated }>\n { item }\n </Tooltip>\n );\n}\n\nexport function MenuSeparator({ className, ...props }: Omit<AriaSeparatorProps, 'className'> & { className?: string }) {\n return <AriaSeparator className={ cn(styles.menuSeparator, className) } { ...props } />;\n}\n\nexport function MenuHeader({ className, sticky, ...props }: HTMLAttributes<HTMLElement> & { sticky?: boolean }) {\n return <AriaHeader className={ cn(styles.sectionHeader, className) } { ...props } data-sticky={ sticky || undefined } />;\n}\n\nexport function MenuSection<T extends object>({ className, ...props }: Omit<AriaMenuSectionProps<T>, 'className'> & { className?: string }) {\n return <AriaMenuSection className={ cn(styles.section, className) } { ...props } />;\n}\n\nMenu.displayName = 'Menu';\nMenuItem.displayName = 'MenuItem';\nMenuSeparator.displayName = 'MenuSeparator';\nMenuHeader.displayName = 'MenuHeader';\nMenuSection.displayName = 'MenuSection';\n"],"names":["Menu","className","size","selectionMode","interactive","styleProp","width","props","listRef","useRef","useListHoverHighlight","widthStyle","resolveOverlayWidth","style","AriaMenu","cn","styles","MenuItem","startAffix","icon","text","description","endAffix","stacked","children","isDanger","ref","itemRef","textValue","descriptionTruncated","setDescriptionTruncated","useState","useScrollActiveListItem","useLayoutEffect","node","update","truncated","current","frame","observer","item","AriaMenuItem","mergeRefs","renderListRowItemContent","Tooltip","MenuSeparator","AriaSeparator","MenuHeader","sticky","AriaHeader","MenuSection","AriaMenuSection"],"mappings":";;;;;;;;;;;AAYO,SAASA,EAAK;AAAA,EACnB,WAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc;AAAA,EACd,OAAOC;AAAA,EACP,OAAAC;AAAA,EACA,GAAGC;AACL,GAAG;AACD,QAAMC,IAAUC,EAAO,IAAI;AAC3B,EAAAC,EAAsBF,GAASJ,CAAW;AAC1C,QAAMO,IAAaC,EAAoBN,CAAK,GACtCO,IAAQF,KAAc,QAAQN,KAAa,OAAO;AAAA,IACtD,GAAGA;AAAA,IACH,GAAGM;AAAA,EAAA,IACD;AACJ,2BAAyBG,GAAU;AAAA,IACjC,WAAWC,EAAGC,EAAO,MAAMA,EAAO,UAAUf,CAAS;AAAA,IACrD,OAAAY;AAAA,IACA,eAAAV;AAAA,IACA,aAAaD;AAAA,IACb,oBAAoBE,KAAe;AAAA,IACnC,GAAGG;AAAA,IACH,KAAKC;AAAA,EAAA,CACN;AACH;AACO,SAASS,EAAS;AAAA,EACvB,YAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAvB;AAAA,EACA,UAAAwB;AAAA,EACA,KAAAC;AAAA,EACA,GAAGnB;AACL,GAAG;AACD,QAAMoB,IAAUlB,EAAO,IAAI,GACrBmB,IAAYR,KAAQb,EAAM,cAAc,OAAOiB,KAAa,WAAWA,IAAW,SAClF,CAACK,GAAsBC,CAAuB,IAAIC,EAAS,EAAK;AACtE,EAAAC,EAAwBL,CAAO,GAC/BM,EAAgB,MAAM;AACpB,QAAI,OAAOZ,KAAgB,YAAYA,EAAY,WAAW;AAC5D;AAEF,UAAMa,IAAOP,EAAQ,SAAS,cAAc,IAAI,IAAI,OAAOX,EAAO,eAAe,CAAC,EAAE;AACpF,QAAI,EAAEkB,aAAgB;AACpB;AAEF,UAAMC,IAAS,MAAM;AACnB,YAAMC,IAAYF,EAAK,cAAcA,EAAK,cAAc;AACxD,MAAAJ,EAAwB,CAAAO,MAAWA,MAAYD,IAAYC,IAAUD,CAAS;AAAA,IAChF,GACME,IAAQ,sBAAsBH,CAAM,GACpCI,IAAW,IAAI,eAAeJ,CAAM;AAC1C,WAAAI,EAAS,QAAQL,CAAI,GACd,MAAM;AACX,2BAAqBI,CAAK,GAC1BC,EAAS,WAAA;AAAA,IACX;AAAA,EACF,GAAG,CAAClB,CAAW,CAAC;AAChB,QAAMmB,sBAAyBC,GAAc;AAAA,IAC3C,KAAKC,EAAUf,GAASD,CAAG;AAAA,IAC3B,WAAWX,EAAGC,EAAO,MAAMO,KAAWP,EAAO,aAAaS,KAAYT,EAAO,YAAYf,CAAS;AAAA,IAClG,WAAA2B;AAAA,IACA,GAAGrB;AAAA,IACH,UAAUoC,EAAyBnB,GAAU;AAAA,MAC3C,MAAAL;AAAA,MACA,aAAAE;AAAA,MACA,YAAAH;AAAA,MACA,UAAAI;AAAA,MACA,SAAAC;AAAA,MACA,WAAAK;AAAA,IAAA,CACD;AAAA,EAAA,CACF;AACD,SAAI,OAAOP,KAAgB,YAAYA,EAAY,WAAW,IACrDmB,sBAEgBI,GAAS;AAAA,IAChC,SAASvB;AAAA,IACT,WAAW;AAAA,IACX,YAAY,CAACQ;AAAA,IACb,UAAUW;AAAA,EAAA,CACX;AACH;AACO,SAASK,EAAc;AAAA,EAC5B,WAAA5C;AAAA,EACA,GAAGM;AACL,GAAG;AACD,2BAAyBuC,GAAe;AAAA,IACtC,WAAW/B,EAAGC,EAAO,eAAef,CAAS;AAAA,IAC7C,GAAGM;AAAA,EAAA,CACJ;AACH;AACO,SAASwC,EAAW;AAAA,EACzB,WAAA9C;AAAA,EACA,QAAA+C;AAAA,EACA,GAAGzC;AACL,GAAG;AACD,2BAAyB0C,GAAY;AAAA,IACnC,WAAWlC,EAAGC,EAAO,eAAef,CAAS;AAAA,IAC7C,GAAGM;AAAA,IACH,eAAeyC,KAAU;AAAA,EAAA,CAC1B;AACH;AACO,SAASE,EAAY;AAAA,EAC1B,WAAAjD;AAAA,EACA,GAAGM;AACL,GAAG;AACD,2BAAyB4C,GAAiB;AAAA,IACxC,WAAWpC,EAAGC,EAAO,SAASf,CAAS;AAAA,IACvC,GAAGM;AAAA,EAAA,CACJ;AACH;AACAP,EAAK,cAAc;AACnBiB,EAAS,cAAc;AACvB4B,EAAc,cAAc;AAC5BE,EAAW,cAAc;AACzBG,EAAY,cAAc;"}
@@ -8,14 +8,14 @@ function w({
8
8
  item: e,
9
9
  className: l,
10
10
  onAction: o,
11
- onRemove: c,
12
- ...m
11
+ onRemove: s,
12
+ ...p
13
13
  }) {
14
- const n = e.href?.trim(), s = n != null && /^https?:\/\//i.test(n), p = s || !!o, i = /* @__PURE__ */ t(b, {
14
+ const n = e.href?.trim(), c = n != null && /^https?:\/\//i.test(n), h = c || !!o, i = /* @__PURE__ */ t(b, {
15
15
  item: e
16
16
  });
17
17
  let a = i;
18
- return s ? a = /* @__PURE__ */ t("a", {
18
+ return c ? a = /* @__PURE__ */ t("a", {
19
19
  className: r.hit,
20
20
  href: n,
21
21
  target: "_blank",
@@ -29,15 +29,15 @@ function w({
29
29
  })), /* @__PURE__ */ C("span", {
30
30
  className: d(r.chip, l),
31
31
  "data-chip": !0,
32
- "data-interactive": p || void 0,
33
- ...m,
32
+ "data-interactive": h || void 0,
33
+ ...p,
34
34
  children: [a, /* @__PURE__ */ t(u, {
35
- when: c,
36
- children: (h) => /* @__PURE__ */ t("button", {
35
+ when: s,
36
+ children: (m) => /* @__PURE__ */ t("button", {
37
37
  type: "button",
38
38
  className: r.remove,
39
39
  "aria-label": "Remove",
40
- onClick: () => h(e),
40
+ onClick: () => m(e),
41
41
  children: /* @__PURE__ */ t(f, {})
42
42
  })
43
43
  })]
@@ -1,12 +1,12 @@
1
- const e = "Chip_chip_gP30sr", h = "Chip_hit_HzngcA", t = "Chip_remove_XM0heJ", i = {
2
- chip: e,
3
- hit: h,
4
- remove: t
1
+ const h = "Chip_chip_gP30sr", e = "Chip_hit_HzngcA", i = "Chip_remove_XM0heJ", t = {
2
+ chip: h,
3
+ hit: e,
4
+ remove: i
5
5
  };
6
6
  export {
7
- e as chip,
8
- i as default,
9
- h as hit,
10
- t as remove
7
+ h as chip,
8
+ t as default,
9
+ e as hit,
10
+ i as remove
11
11
  };
12
12
  //# sourceMappingURL=Chip.module.css.js.map
@@ -1,5 +1,6 @@
1
1
  /** Chip label hint: `(14)` or `(12-15)`. */
2
2
  export declare function formatCursorLineHint(cursor: string | undefined): string | undefined;
3
+ export declare function clipLayerChipLabel(label: string): string;
3
4
  /** Composer / bubble file chip label: `layout.tsx` or `layout.tsx (14-26)`. */
4
5
  export declare function fileChipDisplay(file: {
5
6
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cursorLines.d.ts","sourceRoot":"","sources":["../../../../src/chat/Chip/helpers/cursorLines.ts"],"names":[],"mappings":"AAqDA,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAInF;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK/E;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAKxE"}
1
+ {"version":3,"file":"cursorLines.d.ts","sourceRoot":"","sources":["../../../../src/chat/Chip/helpers/cursorLines.ts"],"names":[],"mappings":"AAqDA,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAInF;AAKD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAK/E;AAED,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAKxE"}
@@ -1,42 +1,48 @@
1
1
  import { chipLabelFromPath as m } from "./chipPath.js";
2
- function c(r) {
3
- const n = r.trim().match(/^(\d+)(?::|$)/);
2
+ function c(t) {
3
+ const n = t.trim().match(/^(\d+)(?::|$)/);
4
4
  if (!n?.[1])
5
5
  return;
6
- const t = Number.parseInt(n[1], 10);
7
- if (!(!Number.isFinite(t) || t <= 0))
8
- return t;
6
+ const r = Number.parseInt(n[1], 10);
7
+ if (!(!Number.isFinite(r) || r <= 0))
8
+ return r;
9
9
  }
10
- function a(r) {
11
- const n = r?.trim();
10
+ function l(t) {
11
+ const n = t?.trim();
12
12
  if (!n)
13
13
  return;
14
- const t = n.indexOf("-");
15
- if (t < 0) {
14
+ const r = n.indexOf("-");
15
+ if (r < 0) {
16
16
  const u = c(n);
17
17
  return u != null ? String(u) : void 0;
18
18
  }
19
- const i = c(n.slice(0, t)), o = c(n.slice(t + 1));
19
+ const i = c(n.slice(0, r)), o = c(n.slice(r + 1));
20
20
  if (i == null || o == null)
21
21
  return;
22
22
  const e = Math.min(i, o), s = Math.max(i, o);
23
23
  return e === s ? String(e) : `${e}-${s}`;
24
24
  }
25
- function l(r) {
26
- const n = a(r);
25
+ function f(t) {
26
+ const n = l(t);
27
27
  return n ? `(${n})` : void 0;
28
28
  }
29
- function d(r) {
30
- const n = m(r.path), t = l(r.cursor);
31
- return t ? `${n} ${t}` : n;
29
+ const a = 20;
30
+ function d(t) {
31
+ const n = t.trim();
32
+ return n.length <= a ? n : n.slice(0, a).trimEnd();
32
33
  }
33
- function h(r) {
34
- const n = r.path.trim().replaceAll("\\", "/"), t = a(r.cursor);
35
- return t ? `@${n}:${t}` : `@${n}`;
34
+ function p(t) {
35
+ const n = m(t.path), r = f(t.cursor);
36
+ return r ? `${n} ${r}` : n;
37
+ }
38
+ function $(t) {
39
+ const n = t.path.trim().replaceAll("\\", "/"), r = l(t.cursor);
40
+ return r ? `@${n}:${r}` : `@${n}`;
36
41
  }
37
42
  export {
38
- d as fileChipDisplay,
39
- h as fileCite,
40
- l as formatCursorLineHint
43
+ d as clipLayerChipLabel,
44
+ p as fileChipDisplay,
45
+ $ as fileCite,
46
+ f as formatCursorLineHint
41
47
  };
42
48
  //# sourceMappingURL=cursorLines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cursorLines.js","sources":["../../../../src/chat/Chip/helpers/cursorLines.ts"],"sourcesContent":["import { chipLabelFromPath } from './chipPath';\n\n/**\n * Shared parsing of editor `cursor` (`line:col` / `line:col-line:col`)\n * into cite ranges and chip label hints.\n */\n\n/** 1-based line from a `line:col` (or bare line) segment. */\nfunction lineFromPosition(segment: string): number | undefined {\n const match = segment.trim().match(/^(\\d+)(?::|$)/);\n\n if (!match?.[1]) {\n return undefined;\n }\n\n const line = Number.parseInt(match[1], 10);\n\n if (!Number.isFinite(line) || line <= 0) {\n return undefined;\n }\n\n return line;\n}\n\n/** Cite / serialize range from cursor: `12` or `12-20`. */\nfunction lineRangeFromCursor(cursor: string | undefined): string | undefined {\n const trimmed = cursor?.trim();\n\n if (!trimmed) {\n return undefined;\n }\n\n const dash = trimmed.indexOf('-');\n\n if (dash < 0) {\n const line = lineFromPosition(trimmed);\n\n return line != null ? String(line) : undefined;\n }\n\n const from = lineFromPosition(trimmed.slice(0, dash));\n const to = lineFromPosition(trimmed.slice(dash + 1));\n\n if (from == null || to == null) {\n return undefined;\n }\n\n const start = Math.min(from, to);\n const end = Math.max(from, to);\n\n return start === end ? String(start) : `${ start }-${ end }`;\n}\n\n/** Chip label hint: `(14)` or `(12-15)`. */\nexport function formatCursorLineHint(cursor: string | undefined): string | undefined {\n const range = lineRangeFromCursor(cursor);\n\n return range ? `(${ range })` : undefined;\n}\n\n/** Composer / bubble file chip label: `layout.tsx` or `layout.tsx (14-26)`. */\nexport function fileChipDisplay(file: { path: string; cursor?: string }): string {\n const name = chipLabelFromPath(file.path);\n const lines = formatCursorLineHint(file.cursor);\n\n return lines ? `${ name } ${ lines }` : name;\n}\n\n/** Prompt cite for an attached file: `@path` / `@path:12-20`. */\nexport function fileCite(file: { path: string; cursor?: string }): string {\n const path = file.path.trim().replaceAll('\\\\', '/');\n const range = lineRangeFromCursor(file.cursor);\n\n return range ? `@${ path }:${ range }` : `@${ path }`;\n}\n"],"names":["lineFromPosition","segment","match","line","lineRangeFromCursor","cursor","trimmed","dash","from","to","start","end","formatCursorLineHint","range","fileChipDisplay","file","name","chipLabelFromPath","lines","fileCite","path"],"mappings":";AAQA,SAASA,EAAiBC,GAAS;AACjC,QAAMC,IAAQD,EAAQ,KAAA,EAAO,MAAM,eAAe;AAClD,MAAI,CAACC,IAAQ,CAAC;AACZ;AAEF,QAAMC,IAAO,OAAO,SAASD,EAAM,CAAC,GAAG,EAAE;AACzC,MAAI,GAAC,OAAO,SAASC,CAAI,KAAKA,KAAQ;AAGtC,WAAOA;AACT;AAGA,SAASC,EAAoBC,GAAQ;AACnC,QAAMC,IAAUD,GAAQ,KAAA;AACxB,MAAI,CAACC;AACH;AAEF,QAAMC,IAAOD,EAAQ,QAAQ,GAAG;AAChC,MAAIC,IAAO,GAAG;AACZ,UAAMJ,IAAOH,EAAiBM,CAAO;AACrC,WAAOH,KAAQ,OAAO,OAAOA,CAAI,IAAI;AAAA,EACvC;AACA,QAAMK,IAAOR,EAAiBM,EAAQ,MAAM,GAAGC,CAAI,CAAC,GAC9CE,IAAKT,EAAiBM,EAAQ,MAAMC,IAAO,CAAC,CAAC;AACnD,MAAIC,KAAQ,QAAQC,KAAM;AACxB;AAEF,QAAMC,IAAQ,KAAK,IAAIF,GAAMC,CAAE,GACzBE,IAAM,KAAK,IAAIH,GAAMC,CAAE;AAC7B,SAAOC,MAAUC,IAAM,OAAOD,CAAK,IAAI,GAAGA,CAAK,IAAIC,CAAG;AACxD;AAGO,SAASC,EAAqBP,GAAQ;AAC3C,QAAMQ,IAAQT,EAAoBC,CAAM;AACxC,SAAOQ,IAAQ,IAAIA,CAAK,MAAM;AAChC;AAGO,SAASC,EAAgBC,GAAM;AACpC,QAAMC,IAAOC,EAAkBF,EAAK,IAAI,GAClCG,IAAQN,EAAqBG,EAAK,MAAM;AAC9C,SAAOG,IAAQ,GAAGF,CAAI,IAAIE,CAAK,KAAKF;AACtC;AAGO,SAASG,EAASJ,GAAM;AAC7B,QAAMK,IAAOL,EAAK,KAAK,OAAO,WAAW,MAAM,GAAG,GAC5CF,IAAQT,EAAoBW,EAAK,MAAM;AAC7C,SAAOF,IAAQ,IAAIO,CAAI,IAAIP,CAAK,KAAK,IAAIO,CAAI;AAC/C;"}
1
+ {"version":3,"file":"cursorLines.js","sources":["../../../../src/chat/Chip/helpers/cursorLines.ts"],"sourcesContent":["import { chipLabelFromPath } from './chipPath';\n\n/**\n * Shared parsing of editor `cursor` (`line:col` / `line:col-line:col`)\n * into cite ranges and chip label hints.\n */\n\n/** 1-based line from a `line:col` (or bare line) segment. */\nfunction lineFromPosition(segment: string): number | undefined {\n const match = segment.trim().match(/^(\\d+)(?::|$)/);\n\n if (!match?.[1]) {\n return undefined;\n }\n\n const line = Number.parseInt(match[1], 10);\n\n if (!Number.isFinite(line) || line <= 0) {\n return undefined;\n }\n\n return line;\n}\n\n/** Cite / serialize range from cursor: `12` or `12-20`. */\nfunction lineRangeFromCursor(cursor: string | undefined): string | undefined {\n const trimmed = cursor?.trim();\n\n if (!trimmed) {\n return undefined;\n }\n\n const dash = trimmed.indexOf('-');\n\n if (dash < 0) {\n const line = lineFromPosition(trimmed);\n\n return line != null ? String(line) : undefined;\n }\n\n const from = lineFromPosition(trimmed.slice(0, dash));\n const to = lineFromPosition(trimmed.slice(dash + 1));\n\n if (from == null || to == null) {\n return undefined;\n }\n\n const start = Math.min(from, to);\n const end = Math.max(from, to);\n\n return start === end ? String(start) : `${ start }-${ end }`;\n}\n\n/** Chip label hint: `(14)` or `(12-15)`. */\nexport function formatCursorLineHint(cursor: string | undefined): string | undefined {\n const range = lineRangeFromCursor(cursor);\n\n return range ? `(${ range })` : undefined;\n}\n\n/** Visible layer chip. The model still gets the longer snippet. */\nconst LAYER_CHIP_LABEL_MAX = 20;\n\nexport function clipLayerChipLabel(label: string): string {\n const text = label.trim();\n\n if (text.length <= LAYER_CHIP_LABEL_MAX) {\n return text;\n }\n\n return text.slice(0, LAYER_CHIP_LABEL_MAX).trimEnd();\n}\n\n/** Composer / bubble file chip label: `layout.tsx` or `layout.tsx (14-26)`. */\nexport function fileChipDisplay(file: { path: string; cursor?: string }): string {\n const name = chipLabelFromPath(file.path);\n const lines = formatCursorLineHint(file.cursor);\n\n return lines ? `${ name } ${ lines }` : name;\n}\n\n/** Prompt cite for an attached file: `@path` / `@path:12-20`. */\nexport function fileCite(file: { path: string; cursor?: string }): string {\n const path = file.path.trim().replaceAll('\\\\', '/');\n const range = lineRangeFromCursor(file.cursor);\n\n return range ? `@${ path }:${ range }` : `@${ path }`;\n}\n"],"names":["lineFromPosition","segment","match","line","lineRangeFromCursor","cursor","trimmed","dash","from","to","start","end","formatCursorLineHint","range","LAYER_CHIP_LABEL_MAX","clipLayerChipLabel","label","text","fileChipDisplay","file","name","chipLabelFromPath","lines","fileCite","path"],"mappings":";AAQA,SAASA,EAAiBC,GAAS;AACjC,QAAMC,IAAQD,EAAQ,KAAA,EAAO,MAAM,eAAe;AAClD,MAAI,CAACC,IAAQ,CAAC;AACZ;AAEF,QAAMC,IAAO,OAAO,SAASD,EAAM,CAAC,GAAG,EAAE;AACzC,MAAI,GAAC,OAAO,SAASC,CAAI,KAAKA,KAAQ;AAGtC,WAAOA;AACT;AAGA,SAASC,EAAoBC,GAAQ;AACnC,QAAMC,IAAUD,GAAQ,KAAA;AACxB,MAAI,CAACC;AACH;AAEF,QAAMC,IAAOD,EAAQ,QAAQ,GAAG;AAChC,MAAIC,IAAO,GAAG;AACZ,UAAMJ,IAAOH,EAAiBM,CAAO;AACrC,WAAOH,KAAQ,OAAO,OAAOA,CAAI,IAAI;AAAA,EACvC;AACA,QAAMK,IAAOR,EAAiBM,EAAQ,MAAM,GAAGC,CAAI,CAAC,GAC9CE,IAAKT,EAAiBM,EAAQ,MAAMC,IAAO,CAAC,CAAC;AACnD,MAAIC,KAAQ,QAAQC,KAAM;AACxB;AAEF,QAAMC,IAAQ,KAAK,IAAIF,GAAMC,CAAE,GACzBE,IAAM,KAAK,IAAIH,GAAMC,CAAE;AAC7B,SAAOC,MAAUC,IAAM,OAAOD,CAAK,IAAI,GAAGA,CAAK,IAAIC,CAAG;AACxD;AAGO,SAASC,EAAqBP,GAAQ;AAC3C,QAAMQ,IAAQT,EAAoBC,CAAM;AACxC,SAAOQ,IAAQ,IAAIA,CAAK,MAAM;AAChC;AAGA,MAAMC,IAAuB;AACtB,SAASC,EAAmBC,GAAO;AACxC,QAAMC,IAAOD,EAAM,KAAA;AACnB,SAAIC,EAAK,UAAUH,IACVG,IAEFA,EAAK,MAAM,GAAGH,CAAoB,EAAE,QAAA;AAC7C;AAGO,SAASI,EAAgBC,GAAM;AACpC,QAAMC,IAAOC,EAAkBF,EAAK,IAAI,GAClCG,IAAQV,EAAqBO,EAAK,MAAM;AAC9C,SAAOG,IAAQ,GAAGF,CAAI,IAAIE,CAAK,KAAKF;AACtC;AAGO,SAASG,EAASJ,GAAM;AAC7B,QAAMK,IAAOL,EAAK,KAAK,OAAO,WAAW,MAAM,GAAG,GAC5CN,IAAQT,EAAoBe,EAAK,MAAM;AAC7C,SAAON,IAAQ,IAAIW,CAAI,IAAIX,CAAK,KAAK,IAAIW,CAAI;AAC/C;"}
@@ -3,5 +3,5 @@ export { ChipContent, type ChipContentProps } from './ChipContent';
3
3
  export { ChipIcon, chipIconForLinkHost, type ChipIconProps as ChipIconByTypeProps } from './ChipIcon';
4
4
  export { getFileKind, type ChipKindType, type FileKindResult } from './helpers/chipKind';
5
5
  export { chipItemFromPath, chipLabelFromPath, chipTooltipFromPath, configureScratchRoots, normalizeChipPath } from './helpers/chipPath';
6
- export { fileChipDisplay, fileCite } from './helpers/cursorLines';
6
+ export { clipLayerChipLabel, fileChipDisplay, fileCite } from './helpers/cursorLines';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat/Chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,aAAa,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chat/Chip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,aAAa,IAAI,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,21 +1,22 @@
1
1
  import { Chip as r } from "./Chip.js";
2
- import { ChipContent as p } from "./ChipContent.js";
2
+ import { ChipContent as t } from "./ChipContent.js";
3
3
  import { ChipIcon as h, chipIconForLinkHost as m } from "./ChipIcon.js";
4
- import { getFileKind as f } from "./helpers/chipKind.js";
5
- import { chipItemFromPath as n, chipLabelFromPath as l, chipTooltipFromPath as C, configureScratchRoots as x, normalizeChipPath as F } from "./helpers/chipPath.js";
6
- import { fileChipDisplay as s, fileCite as I } from "./helpers/cursorLines.js";
4
+ import { getFileKind as c } from "./helpers/chipKind.js";
5
+ import { chipItemFromPath as l, chipLabelFromPath as n, chipTooltipFromPath as C, configureScratchRoots as x, normalizeChipPath as F } from "./helpers/chipPath.js";
6
+ import { clipLayerChipLabel as P, fileChipDisplay as s, fileCite as I } from "./helpers/cursorLines.js";
7
7
  export {
8
8
  r as Chip,
9
- p as ChipContent,
9
+ t as ChipContent,
10
10
  h as ChipIcon,
11
11
  m as chipIconForLinkHost,
12
- n as chipItemFromPath,
13
- l as chipLabelFromPath,
12
+ l as chipItemFromPath,
13
+ n as chipLabelFromPath,
14
14
  C as chipTooltipFromPath,
15
+ P as clipLayerChipLabel,
15
16
  x as configureScratchRoots,
16
17
  s as fileChipDisplay,
17
18
  I as fileCite,
18
- f as getFileKind,
19
+ c as getFileKind,
19
20
  F as normalizeChipPath
20
21
  };
21
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- .MessagePhaseSection_root_Cqd0t1{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-md);padding-block:var(--spacing-md);width:100%;color:var(--color-text);font-weight:400;font-size:var(--text-md);line-height:var(--leading-md);font-family:Onest,sans-serif;letter-spacing:0}.MessagePhaseSection_root_Cqd0t1[data-phase=prose],.MessagePhaseSection_root_Cqd0t1[data-phase=prose]+.MessagePhaseSection_root_Cqd0t1,.MessagePhaseSection_root_Cqd0t1:first-child{margin-top:0}.MessagePhaseSection_root_Cqd0t1[data-phase=prose]{padding-block:0}.MessagePhaseSection_root_Cqd0t1:first-child{padding-top:0}.MessagePhaseSection_header_a11Bwm{width:100%;--reforma-button-opacity--hover: 1}.MessagePhaseSection_headerContent_6gdB1H{justify-content:start;gap:var(--spacing-md);width:100%}.MessagePhaseSection_headerTitle_RT3fFZ{display:flex;flex-shrink:0;overflow:hidden}.MessagePhaseSection_headerSummary_HTSuia{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.MessagePhaseSection_chevronIcon_7lOW0r{flex-shrink:0;opacity:0;transition:all .15s ease}.MessagePhaseSection_chevronIcon_7lOW0r[aria-expanded=true]{opacity:1}.MessagePhaseSection_header_a11Bwm:hover .MessagePhaseSection_chevronIcon_7lOW0r,.MessagePhaseSection_header_a11Bwm:focus-visible .MessagePhaseSection_chevronIcon_7lOW0r{opacity:1}.MessagePhaseSection_phasePanel_UxIl4o{position:relative;padding-right:var(--spacing-md);width:100%}.MessagePhaseSection_phasePanelContent_xFRBiK{display:flex;flex-direction:column;gap:var(--spacing-lg)}
1
+ .MessagePhaseSection_root_Cqd0t1{display:flex;flex-direction:column;gap:var(--spacing-lg);margin-top:var(--spacing-md);width:100%;color:var(--color-text);font-weight:400;font-size:var(--text-md);line-height:var(--leading-md);font-family:Onest,sans-serif;letter-spacing:0}.MessagePhaseSection_root_Cqd0t1:first-child{margin-top:0}.MessagePhaseSection_header_a11Bwm{width:100%;--reforma-button-opacity--hover: 1}.MessagePhaseSection_headerContent_6gdB1H{justify-content:start;gap:var(--spacing-md);width:100%}.MessagePhaseSection_headerTitle_RT3fFZ{display:flex;flex-shrink:0;overflow:hidden}.MessagePhaseSection_headerSummary_HTSuia{display:flex;align-items:center;gap:var(--spacing-md);min-width:0;font-weight:400;font-size:var(--text-sm);line-height:var(--leading-sm);font-family:Onest,sans-serif;letter-spacing:0}.MessagePhaseSection_chevronIcon_7lOW0r{flex-shrink:0;opacity:0;transition:all .15s ease}.MessagePhaseSection_chevronIcon_7lOW0r[aria-expanded=true]{opacity:1}.MessagePhaseSection_header_a11Bwm:hover .MessagePhaseSection_chevronIcon_7lOW0r,.MessagePhaseSection_header_a11Bwm:focus-visible .MessagePhaseSection_chevronIcon_7lOW0r{opacity:1}.MessagePhaseSection_phasePanel_UxIl4o{position:relative;padding-right:var(--spacing-md);width:100%}.MessagePhaseSection_phasePanelContent_xFRBiK{display:flex;flex-direction:column;gap:var(--spacing-lg)}
@@ -1,4 +1,6 @@
1
1
  import { type StreamdownProps } from 'streamdown';
2
+ /** Sanitize + harden, no rehype-raw. HTML tags stay characters; markdown still renders. */
3
+ export declare const USER_MESSAGE_REHYPE_PLUGINS: NonNullable<StreamdownProps['rehypePlugins']>;
2
4
  export declare const STREAMDOWN_OPTIONS: {
3
5
  plugins: {
4
6
  cjk: import("@streamdown/cjk").CjkPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/chat/Message/streamdown/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAMxE,eAAO,MAAM,kBAAkB;;;;;;;mBAetB,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE3B,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/chat/Message/streamdown/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAiBxE,2FAA2F;AAC3F,eAAO,MAAM,2BAA2B,EAGnC,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;;;mBAQtB,WAAW,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAE3B,CAAC"}
@@ -1,23 +1,24 @@
1
- import { cjk as t } from "@streamdown/cjk";
2
- import { defaultRehypePlugins as r } from "streamdown";
1
+ import { cjk as r } from "@streamdown/cjk";
2
+ import { defaultRehypePlugins as t } from "streamdown";
3
3
  import { streamdownComponents as e } from "./components/index.js";
4
- const o = r.sanitize, c = {
4
+ const o = t.sanitize, s = [o[0], {
5
+ ...o[1],
6
+ protocols: {
7
+ ...o[1].protocols,
8
+ src: [...o[1].protocols?.src ?? [], "data"]
9
+ }
10
+ }], n = [s, t.harden], i = {
5
11
  plugins: {
6
- cjk: t
12
+ cjk: r
7
13
  },
8
14
  parseIncompleteMarkdown: !0,
9
15
  caret: "block",
10
16
  controls: !1,
11
- rehypePlugins: [r.raw, [o[0], {
12
- ...o[1],
13
- protocols: {
14
- ...o[1].protocols,
15
- src: [...o[1].protocols?.src ?? [], "data"]
16
- }
17
- }], r.harden],
17
+ rehypePlugins: [t.raw, ...n],
18
18
  components: e
19
19
  };
20
20
  export {
21
- c as STREAMDOWN_OPTIONS
21
+ i as STREAMDOWN_OPTIONS,
22
+ n as USER_MESSAGE_REHYPE_PLUGINS
22
23
  };
23
24
  //# sourceMappingURL=options.js.map