@philosaether/chipper 0.1.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 (122) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +778 -0
  3. package/dist/base.css +1 -0
  4. package/dist/headless.d.ts +16 -0
  5. package/dist/headless.d.ts.map +1 -0
  6. package/dist/headless.js +18 -0
  7. package/dist/index.js +1445 -0
  8. package/dist/src/builder/index.d.ts +82 -0
  9. package/dist/src/builder/index.d.ts.map +1 -0
  10. package/dist/src/builder/predicates.d.ts +18 -0
  11. package/dist/src/builder/predicates.d.ts.map +1 -0
  12. package/dist/src/components/Chip.d.ts +15 -0
  13. package/dist/src/components/Chip.d.ts.map +1 -0
  14. package/dist/src/components/ChipInfoPopup.d.ts +12 -0
  15. package/dist/src/components/ChipInfoPopup.d.ts.map +1 -0
  16. package/dist/src/components/ChipPopup.d.ts +20 -0
  17. package/dist/src/components/ChipPopup.d.ts.map +1 -0
  18. package/dist/src/components/Chipper.d.ts +25 -0
  19. package/dist/src/components/Chipper.d.ts.map +1 -0
  20. package/dist/src/components/Clause.d.ts +13 -0
  21. package/dist/src/components/Clause.d.ts.map +1 -0
  22. package/dist/src/components/Sentence.d.ts +15 -0
  23. package/dist/src/components/Sentence.d.ts.map +1 -0
  24. package/dist/src/components/index.d.ts +12 -0
  25. package/dist/src/components/index.d.ts.map +1 -0
  26. package/dist/src/components/popups/AlternativeCoordinatePopup.d.ts +16 -0
  27. package/dist/src/components/popups/AlternativeCoordinatePopup.d.ts.map +1 -0
  28. package/dist/src/components/popups/KeywordGroupList.d.ts +29 -0
  29. package/dist/src/components/popups/KeywordGroupList.d.ts.map +1 -0
  30. package/dist/src/components/popups/KeywordOrExpressionPopup.d.ts +30 -0
  31. package/dist/src/components/popups/KeywordOrExpressionPopup.d.ts.map +1 -0
  32. package/dist/src/components/popups/MultiSelectPopup.d.ts +20 -0
  33. package/dist/src/components/popups/MultiSelectPopup.d.ts.map +1 -0
  34. package/dist/src/components/popups/NumericInput.d.ts +16 -0
  35. package/dist/src/components/popups/NumericInput.d.ts.map +1 -0
  36. package/dist/src/components/popups/ReferencePopup.d.ts +20 -0
  37. package/dist/src/components/popups/ReferencePopup.d.ts.map +1 -0
  38. package/dist/src/core/actions/set-chip-value.d.ts +17 -0
  39. package/dist/src/core/actions/set-chip-value.d.ts.map +1 -0
  40. package/dist/src/core/actions/set-context.d.ts +18 -0
  41. package/dist/src/core/actions/set-context.d.ts.map +1 -0
  42. package/dist/src/core/actions/set-display-value.d.ts +18 -0
  43. package/dist/src/core/actions/set-display-value.d.ts.map +1 -0
  44. package/dist/src/core/actions/toggle-clause.d.ts +15 -0
  45. package/dist/src/core/actions/toggle-clause.d.ts.map +1 -0
  46. package/dist/src/core/context-resolution.d.ts +36 -0
  47. package/dist/src/core/context-resolution.d.ts.map +1 -0
  48. package/dist/src/core/initialize.d.ts +43 -0
  49. package/dist/src/core/initialize.d.ts.map +1 -0
  50. package/dist/src/core/mode-switching.d.ts +10 -0
  51. package/dist/src/core/mode-switching.d.ts.map +1 -0
  52. package/dist/src/core/reducer.d.ts +16 -0
  53. package/dist/src/core/reducer.d.ts.map +1 -0
  54. package/dist/src/core/resolve-keyword-label.d.ts +7 -0
  55. package/dist/src/core/resolve-keyword-label.d.ts.map +1 -0
  56. package/dist/src/core/serialize.d.ts +34 -0
  57. package/dist/src/core/serialize.d.ts.map +1 -0
  58. package/dist/src/core/state.d.ts +59 -0
  59. package/dist/src/core/state.d.ts.map +1 -0
  60. package/dist/src/core/store.d.ts +23 -0
  61. package/dist/src/core/store.d.ts.map +1 -0
  62. package/dist/src/core/types.d.ts +242 -0
  63. package/dist/src/core/types.d.ts.map +1 -0
  64. package/dist/src/domains/alternative-coordinate.d.ts +110 -0
  65. package/dist/src/domains/alternative-coordinate.d.ts.map +1 -0
  66. package/dist/src/domains/create-domain.d.ts +30 -0
  67. package/dist/src/domains/create-domain.d.ts.map +1 -0
  68. package/dist/src/domains/facades.d.ts +134 -0
  69. package/dist/src/domains/facades.d.ts.map +1 -0
  70. package/dist/src/domains/index.d.ts +14 -0
  71. package/dist/src/domains/index.d.ts.map +1 -0
  72. package/dist/src/domains/keyword-or-expression.d.ts +148 -0
  73. package/dist/src/domains/keyword-or-expression.d.ts.map +1 -0
  74. package/dist/src/domains/multi-select.d.ts +68 -0
  75. package/dist/src/domains/multi-select.d.ts.map +1 -0
  76. package/dist/src/domains/normalize-keywords.d.ts +83 -0
  77. package/dist/src/domains/normalize-keywords.d.ts.map +1 -0
  78. package/dist/src/domains/reference.d.ts +89 -0
  79. package/dist/src/domains/reference.d.ts.map +1 -0
  80. package/dist/src/hooks/SentenceProvider.d.ts +17 -0
  81. package/dist/src/hooks/SentenceProvider.d.ts.map +1 -0
  82. package/dist/src/hooks/context.d.ts +31 -0
  83. package/dist/src/hooks/context.d.ts.map +1 -0
  84. package/dist/src/hooks/index.d.ts +13 -0
  85. package/dist/src/hooks/index.d.ts.map +1 -0
  86. package/dist/src/hooks/useChip.d.ts +21 -0
  87. package/dist/src/hooks/useChip.d.ts.map +1 -0
  88. package/dist/src/hooks/useDisplaySource.d.ts +16 -0
  89. package/dist/src/hooks/useDisplaySource.d.ts.map +1 -0
  90. package/dist/src/hooks/useKeyboardNavigation.d.ts +44 -0
  91. package/dist/src/hooks/useKeyboardNavigation.d.ts.map +1 -0
  92. package/dist/src/hooks/usePopup.d.ts +13 -0
  93. package/dist/src/hooks/usePopup.d.ts.map +1 -0
  94. package/dist/src/hooks/useReferenceDisplay.d.ts +22 -0
  95. package/dist/src/hooks/useReferenceDisplay.d.ts.map +1 -0
  96. package/dist/src/hooks/useSentence.d.ts +14 -0
  97. package/dist/src/hooks/useSentence.d.ts.map +1 -0
  98. package/dist/src/index.d.ts +25 -0
  99. package/dist/src/index.d.ts.map +1 -0
  100. package/dist/src/palette/index.d.ts +29 -0
  101. package/dist/src/palette/index.d.ts.map +1 -0
  102. package/dist/src/themes/apply-theme.d.ts +34 -0
  103. package/dist/src/themes/apply-theme.d.ts.map +1 -0
  104. package/dist/src/themes/create-hue.d.ts +23 -0
  105. package/dist/src/themes/create-hue.d.ts.map +1 -0
  106. package/dist/src/themes/index.d.ts +13 -0
  107. package/dist/src/themes/index.d.ts.map +1 -0
  108. package/dist/src/themes/midnight.d.ts +11 -0
  109. package/dist/src/themes/midnight.d.ts.map +1 -0
  110. package/dist/src/themes/praxis.d.ts +11 -0
  111. package/dist/src/themes/praxis.d.ts.map +1 -0
  112. package/dist/src/themes/terminal.d.ts +9 -0
  113. package/dist/src/themes/terminal.d.ts.map +1 -0
  114. package/dist/src/themes/types.d.ts +72 -0
  115. package/dist/src/themes/types.d.ts.map +1 -0
  116. package/dist/styles.css +1 -0
  117. package/dist/themes/index.js +256 -0
  118. package/dist/themes/midnight.css +1 -0
  119. package/dist/themes/praxis.css +1 -0
  120. package/dist/themes/terminal.css +1 -0
  121. package/dist/usePopup-Of6OHa1_.js +653 -0
  122. package/package.json +75 -0
package/dist/base.css ADDED
@@ -0,0 +1 @@
1
+ :root{--chipper-bg-primary: #f5f5f5;--chipper-bg-secondary: #eeeeee;--chipper-bg-tertiary: #e0e0e0;--chipper-bg-elevated: #ffffff;--chipper-text-primary: #212121;--chipper-text-secondary: #616161;--chipper-text-muted: #9e9e9e;--chipper-border: #bdbdbd;--chipper-border-subtle: rgba(189, 189, 189, 0.4);--chipper-accent: #424242;--chipper-accent-bright: #757575;--chipper-accent-dim: #212121;--chipper-accent-glow: #e0e0e0;--chipper-success: #2e7d32;--chipper-warning: #f57c00;--chipper-error: #c62828;--chipper-info: #1565c0;--chipper-radius: 4px;--chipper-radius-lg: 6px;--chipper-font: inherit;--chipper-font-mono: 'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace;--chipper-focus-ring: 0 0 0 2px rgba(66, 66, 66, 0.3);--chipper-popup-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);--chipper-popup-font-size: 0.875rem;--chipper-popup-max-width: 20rem;--chipper-transition: 0.15s}.chipper-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.chipper-sentence{display:flex;flex-direction:column;gap:.25rem}.chipper-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem}.chipper-line--indent{padding-left:1.5rem}.chipper-clause{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.25rem}.chipper-clause__lead,.chipper-clause__text{white-space:nowrap}.chipper-clause__toggle{background:none;border:none;cursor:pointer;padding:0;font-size:.875rem}.chipper-chip{position:relative;display:inline-flex}.chipper-chip-trigger{display:inline-flex;align-items:center;padding:.25rem .5rem;font-size:inherit;line-height:1.2;cursor:pointer}.chipper-chip-trigger--display{cursor:default}.chipper-chip-trigger--loading{cursor:wait}.chipper-chip-info{position:absolute;top:calc(100% + .5rem);left:0;z-index:100;padding:.5rem .75rem;font-size:var(--chipper-popup-font-size, 0.875rem);width:max-content;max-width:var(--chipper-popup-max-width, 20rem)}.chipper-chip-info__caret{position:absolute;top:-6px;left:1rem;width:10px;height:10px;transform:rotate(45deg)}.chipper-popup{position:absolute;top:calc(100% + .5rem);left:0;z-index:100;display:none;max-width:var(--chipper-popup-max-width)}.chipper-popup--open{display:block}.chipper-popup::before{content:"";position:absolute;top:-6px;left:1rem;width:10px;height:10px;transform:rotate(45deg)}.chipper-popup-option{padding:.25rem .5rem;min-height:1.5rem;border:none;background:rgba(0,0,0,0);text-align:left;cursor:pointer}.chipper-koe-popup{display:flex;flex-direction:column;gap:.5rem;min-width:12rem}.chipper-koe-popup__separator{border:none;border-top:1px solid;margin:0}.chipper-koe-popup__input-row{display:flex;align-items:center;gap:.375rem}.chipper-koe-popup__input{width:100%;padding:.375rem .5rem;font-size:inherit}.chipper-koe-popup__keywords{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-koe-popup__keywords--grouped{flex-direction:column;flex-wrap:nowrap}.chipper-keyword-group{display:flex;flex-direction:column;gap:.25rem}.chipper-keyword-group__separator{border:none;border-top:1px solid;margin:0}.chipper-keyword-group__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.chipper-keyword-group__prefix{white-space:nowrap;align-self:center}.chipper-keyword-group__items--flow{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-keyword-group__items--grid{display:grid;grid-template-columns:repeat(var(--chipper-group-columns, 7), 1fr);gap:.25rem}.chipper-multi-select-popup__keywords{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-multi-select-popup{display:flex;flex-direction:column;gap:.5rem;min-width:12rem}.chipper-multi-select-popup__grid{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-multi-select-popup__grid>*{flex:0 0 auto}.chipper-reference-popup{display:flex;flex-direction:column;gap:.5rem;min-width:14rem}.chipper-reference-popup__keywords{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-reference-popup__breadcrumb{display:flex;align-items:baseline;flex-wrap:wrap;gap:0}.chipper-reference-popup__breadcrumb-segment{background:none;border:none;padding:0;cursor:pointer;font-size:inherit}.chipper-reference-popup__items{display:flex;flex-direction:column;gap:.125rem;max-height:16rem;overflow-y:auto}.chipper-reference-popup__item{display:flex;align-items:center;gap:.25rem}.chipper-reference-popup__item--non-selectable{display:flex;align-items:center;gap:.25rem;width:100%;background:none;border:none;padding:0;cursor:pointer;font-size:inherit;text-align:left}.chipper-reference-popup__item-label{flex:1;padding:.25rem .5rem;min-height:1.5rem;border:1px solid rgba(0,0,0,0);text-align:left;cursor:pointer;font-size:inherit}.chipper-reference-popup__item-label--inert{cursor:default}.chipper-reference-popup__item-drill{background:none;border:1px solid rgba(0,0,0,0);padding:.25rem .375rem;cursor:pointer;font-size:inherit;flex-shrink:0}.chipper-reference-popup__search-row{display:flex}.chipper-reference-popup__search{width:100%;padding:.375rem .5rem;font-size:inherit}.chipper-reference-popup__loading,.chipper-reference-popup__empty{padding:.5rem;text-align:center}.chipper-reference-popup__retry{background:none;border:none;padding:.25rem .5rem;cursor:pointer;font-size:inherit}.chipper-sentence{font-family:var(--chipper-font);color:var(--chipper-text-primary)}.chipper-clause__lead,.chipper-clause__text{color:var(--chipper-text-primary)}.chipper-clause__toggle{color:var(--chipper-text-muted)}.chipper-clause__toggle:hover{color:var(--chipper-accent)}.chipper-clause__toggle:focus-visible{outline:none;color:var(--chipper-accent);box-shadow:var(--chipper-focus-ring)}.chipper-clause--dormant .chipper-clause__text{color:var(--chipper-text-muted);font-style:italic}.chipper-clause__terminator{color:var(--chipper-border)}.chipper-chip-trigger{border:1px solid var(--chip-trigger-color-text, var(--chipper-border));border-radius:.5rem;background:var(--chip-trigger-color-bg, var(--chipper-bg-tertiary));color:var(--chip-trigger-color-text, var(--chipper-text-primary));font-family:var(--chipper-font);transition:all .2s ease}.chipper-chip-trigger:hover{border-color:var(--chip-trigger-color-text, var(--chipper-border));background:var(--chip-trigger-color-hover, var(--chipper-bg-tertiary))}.chipper-chip-trigger:focus-visible{outline:none;border-color:var(--chipper-accent);box-shadow:var(--chipper-focus-ring)}.chipper-chip-trigger--placeholder{border-style:dashed;border-color:var(--chip-trigger-color-text, var(--chipper-border))}.chipper-chip-trigger--expanded{border-color:var(--chip-trigger-color-text, var(--chipper-border));box-shadow:0 4px 12px var(--chip-trigger-color-glow, rgba(0, 0, 0, 0.12)),0 1px 3px rgba(0,0,0,.08)}.chipper-chip-trigger--display{border-color:rgba(0,0,0,0);background:var(--chip-trigger-color-bg, var(--chipper-bg-secondary))}.chipper-chip-trigger--display:hover{background:var(--chip-trigger-color-bg, var(--chipper-bg-secondary))}.chipper-chip-trigger--loading{animation:chipper-pulse 1.5s ease-in-out infinite}.chipper-chip-trigger--error{border-color:var(--chipper-error);border-style:solid}@keyframes chipper-pulse{0%,100%{opacity:1}50%{opacity:.6}}.chipper-chip-info{background:var(--chip-trigger-color-bg, var(--chipper-bg-elevated));border:none;border-radius:.75rem;box-shadow:0 4px 12px var(--chip-trigger-color-glow, rgba(0, 0, 0, 0.12)),0 1px 3px rgba(0,0,0,.08);color:var(--chip-trigger-color-text, var(--chipper-text-secondary))}.chipper-chip-info__caret{background:var(--chip-trigger-color-bg, var(--chipper-bg-elevated))}.chipper-popup{background:var(--chipper-bg-elevated);border:1px solid var(--chipper-border);border-radius:1rem;box-shadow:0 4px 12px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.08);padding:.75rem;font-size:var(--chipper-popup-font-size)}.chipper-popup::before{background:var(--chipper-bg-elevated);border-left:1px solid var(--chipper-border);border-top:1px solid var(--chipper-border)}.chipper-popup-option{border:1px solid rgba(0,0,0,0);border-radius:.5rem;background:var(--chip-trigger-color-bg, var(--chipper-bg-secondary));color:var(--chip-trigger-color-text, var(--chipper-text-primary));font-family:var(--chipper-font);font-size:inherit;transition:all .2s ease}.chipper-popup-option:hover{border-color:var(--chip-trigger-color-text, var(--chipper-accent));background:var(--chip-trigger-color-bg, var(--chipper-accent-glow));color:var(--chip-trigger-color-text, var(--chipper-accent))}.chipper-popup-option--active{border-color:var(--chip-trigger-color-text, var(--chipper-accent));background:var(--chip-trigger-color-bg, var(--chipper-accent-glow));color:var(--chip-trigger-color-text, var(--chipper-accent))}.chipper-popup-option--selected{background:var(--chip-trigger-color-text, var(--chipper-accent));color:var(--chip-trigger-color-bg, var(--chipper-bg-elevated));border-color:var(--chip-trigger-color-text, var(--chipper-accent));font-weight:500}.chipper-popup-option:focus-visible{outline:none;box-shadow:var(--chipper-focus-ring)}.chipper-koe-popup__input{border:1px solid var(--chipper-border);border-radius:.5rem;background:var(--chipper-bg-elevated);color:var(--chipper-text-primary);font-family:var(--chipper-font);transition:border-color .2s ease}.chipper-koe-popup__input:focus{outline:none;border-color:var(--chip-trigger-color-bg, var(--chipper-accent));box-shadow:0 0 0 2px var(--chip-trigger-color-bg, var(--chipper-accent-glow))}.chipper-koe-popup__input::placeholder{color:var(--chipper-text-muted)}.chipper-koe-popup__separator{border-top-color:var(--chipper-border-subtle)}.chipper-keyword-group__separator{border-top-color:var(--chipper-border-subtle)}.chipper-keyword-group__label{color:var(--chipper-text-muted)}.chipper-keyword-group__prefix{color:var(--chipper-text-muted)}.chipper-koe-popup__affix{color:var(--chipper-text-muted);white-space:nowrap}.chipper-numeric-input{display:flex;align-items:center;gap:.25rem}.chipper-numeric-input__button{display:flex;align-items:center;justify-content:center;min-width:1.5rem;min-height:1.5rem;width:2rem;height:2rem;border:1px solid rgba(0,0,0,0);border-radius:.5rem;background:var(--chip-trigger-color-bg, var(--chipper-bg-secondary));color:var(--chip-trigger-color-text, var(--chipper-text-primary));font-family:var(--chipper-font);font-size:1.1em;transition:all .2s ease}.chipper-numeric-input__button:hover:not(:disabled){border-color:var(--chip-trigger-color-text, var(--chipper-accent))}.chipper-numeric-input__button:disabled{opacity:.3}.chipper-numeric-input__value{width:3rem;text-align:center;border:1px solid var(--chipper-border);border-radius:.5rem;background:var(--chipper-bg-elevated);color:var(--chipper-text-primary);font-family:var(--chipper-font-mono, var(--chipper-font));font-size:inherit;padding:.25rem}.chipper-numeric-input__value:focus{outline:none;border-color:var(--chip-trigger-color-bg, var(--chipper-accent));box-shadow:0 0 0 2px var(--chip-trigger-color-bg, var(--chipper-accent-glow))}.chipper-multi-select-popup__keywords{gap:.375rem;padding-bottom:.5rem;border-bottom:1px solid var(--chipper-border-subtle);margin-bottom:.5rem}.chipper-multi-select-popup__grid{gap:.375rem}.chipper-multi-select-popup__grid .chipper-popup-option:disabled{opacity:.4}.chipper-alt-coord-popup__tabs{display:flex;gap:0;border-bottom:1px solid var(--chipper-border-subtle);margin-bottom:.5rem}.chipper-alt-coord-popup__tab{border:none;border-bottom:2px solid rgba(0,0,0,0);background:none;color:var(--chipper-text-muted);font-family:var(--chipper-font);font-size:inherit;min-height:1.5rem;padding:.375rem .75rem;transition:all .2s ease}.chipper-alt-coord-popup__tab:hover{color:var(--chipper-text-primary)}.chipper-alt-coord-popup__tab:focus-visible{outline:none;box-shadow:var(--chipper-focus-ring)}.chipper-alt-coord-popup__tab--active{color:var(--chipper-text-primary);border-bottom-color:var(--chipper-accent);font-weight:500}.chipper-alt-coord-popup__slot{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;padding-bottom:.375rem}.chipper-alt-coord-popup__slot:not(:last-child){border-bottom:1px solid var(--chipper-border-subtle);margin-bottom:.375rem}.chipper-alt-coord-popup__slot-prefix{color:var(--chipper-text-muted);font-style:italic}.chipper-alt-coord-popup__slot-keywords{display:flex;flex-wrap:wrap;gap:.375rem}.chipper-alt-coord-popup__expression{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--chipper-border-subtle)}.chipper-reference-popup__keywords{padding-bottom:.5rem;border-bottom:1px solid var(--chipper-border-subtle)}.chipper-reference-popup__breadcrumb{color:var(--chipper-text-muted);font-size:.8125em;padding-bottom:.375rem;border-bottom:1px solid var(--chipper-border-subtle)}.chipper-reference-popup__breadcrumb-segment{color:var(--chipper-accent);font-family:var(--chipper-font);transition:color .2s ease}.chipper-reference-popup__breadcrumb-segment:hover{color:var(--chipper-accent-bright, var(--chipper-accent));text-decoration:underline}.chipper-reference-popup__breadcrumb-separator{color:var(--chipper-text-muted);padding:0 .375rem}.chipper-reference-popup__breadcrumb-current{color:var(--chipper-text-primary);font-weight:500}.chipper-reference-popup__item-label{border-radius:.375rem;background:var(--chip-trigger-color-bg, var(--chipper-bg-secondary));color:var(--chip-trigger-color-text, var(--chipper-text-primary));font-family:var(--chipper-font);transition:all .15s ease}.chipper-reference-popup__item-label:hover{border-color:var(--chip-trigger-color-text, var(--chipper-accent))}.chipper-reference-popup__item-label--selected{background:var(--chip-trigger-color-text, var(--chipper-accent));color:var(--chip-trigger-color-bg, var(--chipper-bg-elevated));font-weight:500}.chipper-reference-popup__item-label--inert{background:rgba(0,0,0,0);color:var(--chipper-text-muted);cursor:default}.chipper-reference-popup__item-label--inert:hover{border-color:rgba(0,0,0,0)}.chipper-reference-popup__item-drill{color:var(--chipper-text-muted);font-family:var(--chipper-font);border-radius:.375rem;transition:all .15s ease}.chipper-reference-popup__item-drill:hover{color:var(--chip-trigger-color-text, var(--chipper-text-primary));border-color:var(--chip-trigger-color-text, var(--chipper-border))}.chipper-reference-popup__item--non-selectable.chipper-popup-option{border-radius:.375rem;font-family:var(--chipper-font);color:var(--chip-trigger-color-text, var(--chipper-text-primary));background:rgba(0,0,0,0);border:1px solid rgba(0,0,0,0);transition:all .15s ease}.chipper-reference-popup__item--non-selectable.chipper-popup-option:hover,.chipper-reference-popup__item--non-selectable.chipper-popup-option.chipper-popup-option--active{background:rgba(0,0,0,0);border-color:var(--chip-trigger-color-text, var(--chipper-border));color:var(--chip-trigger-color-text, var(--chipper-text-primary))}.chipper-reference-popup__item--non-selectable.chipper-popup-option .chipper-reference-popup__item-label{background:rgba(0,0,0,0);color:inherit;border-color:rgba(0,0,0,0)}.chipper-reference-popup__search{border:1px solid var(--chipper-border);border-radius:.5rem;background:var(--chipper-bg-elevated);color:var(--chipper-text-primary);font-family:var(--chipper-font);transition:border-color .2s ease}.chipper-reference-popup__search:focus{outline:none;border-color:var(--chip-trigger-color-bg, var(--chipper-accent));box-shadow:0 0 0 2px var(--chip-trigger-color-bg, var(--chipper-accent-glow))}.chipper-reference-popup__search::placeholder{color:var(--chipper-text-muted)}.chipper-reference-popup__loading{color:var(--chipper-text-muted);font-style:italic}.chipper-reference-popup__empty{color:var(--chipper-text-muted)}.chipper-reference-popup__retry{color:var(--chipper-accent);font-family:var(--chipper-font);text-decoration:underline}.chipper-reference-popup__retry:hover{color:var(--chipper-accent-bright, var(--chipper-accent))}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Chipper headless entry point.
3
+ *
4
+ * Exports hooks and state management without any UI components or styles.
5
+ * Import as 'chipper/headless'.
6
+ */
7
+ export type { Domain, Keyword, ExpressionMode, ChipMode, DisplaySource, DisplayConfig, ChipDefinition, ClauseDefinition, ContingencyConfig, ClauseOverrides, RepeatingClauseConfig, SentenceDefinition, SentenceContext, Palette, ClauseTemplate, } from './src/core/types';
8
+ export type { ChipState, ClauseState, ContextScope, SentenceState, } from './src/core/state';
9
+ export type { SentenceStore, ResolvedDomains } from './src/core/store';
10
+ export { initializeSentenceState } from './src/core/initialize';
11
+ export { sentenceReducer, type SentenceAction } from './src/core/reducer';
12
+ export { serialize, deserialize, type SerializedSentence } from './src/core/serialize';
13
+ export { SentenceProvider, type SentenceProviderProps, useSentence, useChip, usePopup, type SentenceContextValue, type PopupState, } from './src/hooks';
14
+ export { sentence, builder, chip, repeating } from './src/builder';
15
+ export { createPalette, extendPalette } from './src/palette';
16
+ //# sourceMappingURL=headless.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"headless.d.ts","sourceRoot":"","sources":["../headless.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,QAAQ,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EACf,OAAO,EACP,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGvF,OAAO,EACL,gBAAgB,EAChB,KAAK,qBAAqB,EAC1B,WAAW,EACX,OAAO,EACP,QAAQ,EACR,KAAK,oBAAoB,EACzB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { S as t, b as i, c as n, a as r, d as c, e as p, i as u, r as d, s as l, f as o, g as S, u as P, h, j as z } from "./usePopup-Of6OHa1_.js";
2
+ import "react";
3
+ export {
4
+ t as SentenceProvider,
5
+ i as builder,
6
+ n as chip,
7
+ r as createPalette,
8
+ c as deserialize,
9
+ p as extendPalette,
10
+ u as initializeSentenceState,
11
+ d as repeating,
12
+ l as sentence,
13
+ o as sentenceReducer,
14
+ S as serialize,
15
+ P as useChip,
16
+ h as usePopup,
17
+ z as useSentence
18
+ };