@bendyline/squisq-react 2.8.0 → 2.9.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.
@@ -6957,6 +6957,318 @@
6957
6957
  transform: scale(1.15);
6958
6958
  }
6959
6959
  }
6960
+ .squisq-flashcards {
6961
+ display: flex;
6962
+ flex-direction: column;
6963
+ box-sizing: border-box;
6964
+ width: 100%;
6965
+ height: 100%;
6966
+ min-height: 420px;
6967
+ overflow: hidden;
6968
+ padding: clamp(18px, 4vw, 48px);
6969
+ color: var(--squisq-flashcards-text);
6970
+ background:
6971
+ radial-gradient(
6972
+ circle at 12% 5%,
6973
+ color-mix(in srgb, var(--squisq-flashcards-primary) 22%, transparent),
6974
+ transparent 34%),
6975
+ var(--squisq-flashcards-bg);
6976
+ font-family: var(--squisq-flashcards-body-font);
6977
+ outline: none;
6978
+ }
6979
+ .squisq-flashcards *,
6980
+ .squisq-flashcards *::before,
6981
+ .squisq-flashcards *::after {
6982
+ box-sizing: border-box;
6983
+ }
6984
+ .squisq-flashcards__header,
6985
+ .squisq-flashcards__progress-row,
6986
+ .squisq-flashcards__progress,
6987
+ .squisq-flashcards__card,
6988
+ .squisq-flashcards__footer,
6989
+ .squisq-flashcards__shortcut-hint,
6990
+ .squisq-flashcards__summary,
6991
+ .squisq-flashcards__empty-card {
6992
+ width: min(920px, 100%);
6993
+ margin-inline: auto;
6994
+ }
6995
+ .squisq-flashcards__header,
6996
+ .squisq-flashcards__footer,
6997
+ .squisq-flashcards__progress-row,
6998
+ .squisq-flashcards__tools,
6999
+ .squisq-flashcards__primary-actions,
7000
+ .squisq-flashcards__summary-actions {
7001
+ display: flex;
7002
+ align-items: center;
7003
+ gap: 10px;
7004
+ }
7005
+ .squisq-flashcards__header,
7006
+ .squisq-flashcards__footer,
7007
+ .squisq-flashcards__progress-row {
7008
+ justify-content: space-between;
7009
+ }
7010
+ .squisq-flashcards__header {
7011
+ flex: 0 0 auto;
7012
+ margin-bottom: 22px;
7013
+ }
7014
+ .squisq-flashcards__deck-copy h1,
7015
+ .squisq-flashcards__summary h2,
7016
+ .squisq-flashcards__empty-card h2 {
7017
+ margin: 2px 0 0;
7018
+ font: 700 clamp(22px, 3vw, 34px) / 1.1 var(--squisq-flashcards-title-font);
7019
+ }
7020
+ .squisq-flashcards__eyebrow,
7021
+ .squisq-flashcards__answer-label,
7022
+ .squisq-flashcards__label {
7023
+ color: var(--squisq-flashcards-primary);
7024
+ font-size: 12px;
7025
+ font-weight: 800;
7026
+ letter-spacing: 0.11em;
7027
+ text-transform: uppercase;
7028
+ }
7029
+ .squisq-flashcards__tool,
7030
+ .squisq-flashcards__button {
7031
+ min-height: 40px;
7032
+ border: 1px solid color-mix(in srgb, var(--squisq-flashcards-text) 22%, transparent);
7033
+ border-radius: 999px;
7034
+ padding: 8px 16px;
7035
+ color: var(--squisq-flashcards-text);
7036
+ background: color-mix(in srgb, var(--squisq-flashcards-surface) 88%, transparent);
7037
+ font: 700 14px/1 var(--squisq-flashcards-body-font);
7038
+ cursor: pointer;
7039
+ }
7040
+ .squisq-flashcards__tool:hover,
7041
+ .squisq-flashcards__button:hover:not(:disabled) {
7042
+ border-color: var(--squisq-flashcards-primary);
7043
+ }
7044
+ .squisq-flashcards__tool:focus-visible,
7045
+ .squisq-flashcards__button:focus-visible,
7046
+ .squisq-flashcards__choice:focus-visible {
7047
+ outline: 3px solid color-mix(in srgb, var(--squisq-flashcards-primary) 45%, transparent);
7048
+ outline-offset: 2px;
7049
+ }
7050
+ .squisq-flashcards__tool[aria-pressed=true],
7051
+ .squisq-flashcards__button--primary {
7052
+ border-color: var(--squisq-flashcards-primary);
7053
+ color: var(--squisq-flashcards-bg);
7054
+ background: var(--squisq-flashcards-primary);
7055
+ }
7056
+ .squisq-flashcards__button:disabled {
7057
+ opacity: 0.38;
7058
+ cursor: default;
7059
+ }
7060
+ .squisq-flashcards__progress-row {
7061
+ flex: 0 0 auto;
7062
+ color: var(--squisq-flashcards-muted);
7063
+ font-size: 13px;
7064
+ }
7065
+ .squisq-flashcards__progress {
7066
+ flex: 0 0 auto;
7067
+ height: 5px;
7068
+ margin-top: 8px;
7069
+ margin-bottom: 18px;
7070
+ overflow: hidden;
7071
+ border-radius: 999px;
7072
+ background: color-mix(in srgb, var(--squisq-flashcards-text) 12%, transparent);
7073
+ }
7074
+ .squisq-flashcards__progress > span {
7075
+ display: block;
7076
+ height: 100%;
7077
+ border-radius: inherit;
7078
+ background: var(--squisq-flashcards-primary);
7079
+ transition: width 220ms ease;
7080
+ }
7081
+ .squisq-flashcards__card,
7082
+ .squisq-flashcards__summary,
7083
+ .squisq-flashcards__empty-card {
7084
+ border: 1px solid color-mix(in srgb, var(--squisq-flashcards-text) 16%, transparent);
7085
+ border-radius: var(--squisq-flashcards-radius);
7086
+ padding: clamp(24px, 5vw, 58px);
7087
+ background: color-mix(in srgb, var(--squisq-flashcards-surface) 94%, var(--squisq-flashcards-bg));
7088
+ box-shadow: 0 28px 80px color-mix(in srgb, #000 26%, transparent);
7089
+ }
7090
+ .squisq-flashcards__card {
7091
+ flex: 1 1 auto;
7092
+ min-height: 0;
7093
+ overflow-x: hidden;
7094
+ overflow-y: auto;
7095
+ overscroll-behavior: contain;
7096
+ scrollbar-gutter: stable;
7097
+ }
7098
+ .squisq-flashcards__label {
7099
+ margin-bottom: 18px;
7100
+ }
7101
+ .squisq-flashcards__content-block + .squisq-flashcards__content-block {
7102
+ margin-top: 24px;
7103
+ }
7104
+ .squisq-flashcards__content-title {
7105
+ margin: 0 0 0.45em;
7106
+ color: inherit;
7107
+ font-family: var(--squisq-flashcards-title-font);
7108
+ font-size: clamp(24px, 4vw, 46px);
7109
+ line-height: 1.12;
7110
+ }
7111
+ .squisq-flashcards__content-block .squisq-flashcards__content-block .squisq-flashcards__content-title {
7112
+ font-size: clamp(19px, 2.7vw, 30px);
7113
+ }
7114
+ .squisq-flashcards .squisq-md {
7115
+ font-size: clamp(16px, 2vw, 21px);
7116
+ line-height: 1.55;
7117
+ }
7118
+ .squisq-flashcards .squisq-md > :first-child {
7119
+ margin-top: 0;
7120
+ }
7121
+ .squisq-flashcards .squisq-md > :last-child {
7122
+ margin-bottom: 0;
7123
+ }
7124
+ .squisq-flashcards .squisq-md img,
7125
+ .squisq-flashcards .squisq-md video {
7126
+ max-width: 100%;
7127
+ max-height: 42vh;
7128
+ border-radius: calc(var(--squisq-flashcards-radius) * 0.65);
7129
+ object-fit: contain;
7130
+ }
7131
+ .squisq-flashcards__canvas {
7132
+ width: min(720px, 100%);
7133
+ aspect-ratio: 16 / 9;
7134
+ margin-top: 18px;
7135
+ overflow: hidden;
7136
+ border-radius: calc(var(--squisq-flashcards-radius) * 0.65);
7137
+ }
7138
+ .squisq-flashcards__answer,
7139
+ .squisq-flashcards__explanation,
7140
+ .squisq-flashcards__feedback {
7141
+ margin-top: 28px;
7142
+ border-top: 1px solid color-mix(in srgb, var(--squisq-flashcards-text) 18%, transparent);
7143
+ padding-top: 24px;
7144
+ animation: squisq-flashcard-reveal 180ms ease-out both;
7145
+ }
7146
+ .squisq-flashcards__answer-label {
7147
+ display: block;
7148
+ margin-bottom: 12px;
7149
+ }
7150
+ .squisq-flashcards__choices {
7151
+ display: grid;
7152
+ gap: 12px;
7153
+ margin-top: 28px;
7154
+ }
7155
+ .squisq-flashcards__choice {
7156
+ display: grid;
7157
+ grid-template-columns: 34px minmax(0, 1fr);
7158
+ align-items: center;
7159
+ gap: 14px;
7160
+ width: 100%;
7161
+ border: 1px solid color-mix(in srgb, var(--squisq-flashcards-text) 18%, transparent);
7162
+ border-radius: calc(var(--squisq-flashcards-radius) * 0.72);
7163
+ padding: 14px 18px;
7164
+ color: var(--squisq-flashcards-text);
7165
+ background: color-mix(in srgb, var(--squisq-flashcards-bg) 32%, transparent);
7166
+ text-align: left;
7167
+ cursor: pointer;
7168
+ }
7169
+ .squisq-flashcards__choice:not(:disabled):hover {
7170
+ border-color: var(--squisq-flashcards-primary);
7171
+ transform: translateY(-1px);
7172
+ }
7173
+ .squisq-flashcards__choice[data-choice-status=correct] {
7174
+ border-color: var(--squisq-flashcards-highlight);
7175
+ background: color-mix(in srgb, var(--squisq-flashcards-highlight) 14%, transparent);
7176
+ }
7177
+ .squisq-flashcards__choice[data-choice-status=incorrect] {
7178
+ border-color: var(--squisq-flashcards-warning);
7179
+ background: color-mix(in srgb, var(--squisq-flashcards-warning) 14%, transparent);
7180
+ }
7181
+ .squisq-flashcards__choice-key {
7182
+ display: grid;
7183
+ width: 30px;
7184
+ height: 30px;
7185
+ place-items: center;
7186
+ border-radius: 50%;
7187
+ color: var(--squisq-flashcards-muted);
7188
+ background: color-mix(in srgb, var(--squisq-flashcards-text) 10%, transparent);
7189
+ font-weight: 800;
7190
+ }
7191
+ .squisq-flashcards__choice .squisq-flashcards__content-title {
7192
+ margin: 0;
7193
+ font: 700 clamp(16px, 2vw, 20px) / 1.3 var(--squisq-flashcards-body-font);
7194
+ }
7195
+ .squisq-flashcards__choice .squisq-md {
7196
+ font-size: 16px;
7197
+ }
7198
+ .squisq-flashcards__feedback > strong {
7199
+ color: var(--squisq-flashcards-warning);
7200
+ font: 700 20px/1.2 var(--squisq-flashcards-title-font);
7201
+ }
7202
+ .squisq-flashcards__feedback[data-correct=true] > strong {
7203
+ color: var(--squisq-flashcards-highlight);
7204
+ }
7205
+ .squisq-flashcards__correct-answer > span {
7206
+ display: block;
7207
+ margin: 12px 0 8px;
7208
+ color: var(--squisq-flashcards-muted);
7209
+ font-size: 13px;
7210
+ }
7211
+ .squisq-flashcards__footer {
7212
+ flex: 0 0 auto;
7213
+ margin-top: 18px;
7214
+ }
7215
+ .squisq-flashcards__shortcut-hint {
7216
+ flex: 0 0 auto;
7217
+ margin-top: 12px;
7218
+ color: var(--squisq-flashcards-muted);
7219
+ font-size: 12px;
7220
+ text-align: center;
7221
+ }
7222
+ .squisq-flashcards__summary,
7223
+ .squisq-flashcards__empty-card {
7224
+ margin-top: min(12vh, 120px);
7225
+ text-align: center;
7226
+ }
7227
+ .squisq-flashcards__summary p,
7228
+ .squisq-flashcards__empty-card p,
7229
+ .squisq-flashcards__empty-card ul {
7230
+ color: var(--squisq-flashcards-muted);
7231
+ }
7232
+ .squisq-flashcards__summary-actions {
7233
+ justify-content: center;
7234
+ flex-wrap: wrap;
7235
+ margin-top: 24px;
7236
+ }
7237
+ @keyframes squisq-flashcard-reveal {
7238
+ from {
7239
+ opacity: 0;
7240
+ transform: translateY(8px);
7241
+ }
7242
+ to {
7243
+ opacity: 1;
7244
+ transform: translateY(0);
7245
+ }
7246
+ }
7247
+ @media (max-width: 640px) {
7248
+ .squisq-flashcards__header,
7249
+ .squisq-flashcards__footer {
7250
+ align-items: stretch;
7251
+ flex-direction: column;
7252
+ }
7253
+ .squisq-flashcards__tools,
7254
+ .squisq-flashcards__primary-actions,
7255
+ .squisq-flashcards__footer > .squisq-flashcards__button {
7256
+ width: 100%;
7257
+ }
7258
+ .squisq-flashcards__tools > *,
7259
+ .squisq-flashcards__primary-actions > * {
7260
+ flex: 1;
7261
+ }
7262
+ }
7263
+ @media (prefers-reduced-motion: reduce) {
7264
+ .squisq-flashcards__progress > span,
7265
+ .squisq-flashcards__answer,
7266
+ .squisq-flashcards__explanation,
7267
+ .squisq-flashcards__feedback {
7268
+ animation: none;
7269
+ transition: none;
7270
+ }
7271
+ }
6960
7272
  @keyframes slowZoomOut {
6961
7273
  from {
6962
7274
  transform: scale(1.15);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bendyline/squisq-react",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "description": "React component library for doc playback, block rendering, and media layers",
5
5
  "license": "MIT",
6
6
  "author": "Bendyline",
@@ -91,7 +91,7 @@
91
91
  "react-dom": "^18.0.0 || ^19.0.0"
92
92
  },
93
93
  "dependencies": {
94
- "@bendyline/squisq": "2.8.0",
94
+ "@bendyline/squisq": "2.9.0",
95
95
  "@fortawesome/fontawesome-free": "7.2.0",
96
96
  "mermaid": "11.16.1"
97
97
  },