@ornikar/bumper 3.11.0 → 3.12.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 (49) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/definitions/index.d.ts +2 -0
  3. package/dist/definitions/index.d.ts.map +1 -1
  4. package/dist/definitions/system/dataDisplays/Sticker/Sticker.d.ts +18 -0
  5. package/dist/definitions/system/dataDisplays/Sticker/Sticker.d.ts.map +1 -0
  6. package/dist/definitions/system/dataDisplays/Sticker/components/StickerLabel.d.ts +7 -0
  7. package/dist/definitions/system/dataDisplays/Sticker/components/StickerLabel.d.ts.map +1 -0
  8. package/dist/definitions/system/dataDisplays/Sticker/context.d.ts +3 -0
  9. package/dist/definitions/system/dataDisplays/Sticker/context.d.ts.map +1 -0
  10. package/dist/definitions/system/dataDisplays/Sticker/types.d.ts +24 -0
  11. package/dist/definitions/system/dataDisplays/Sticker/types.d.ts.map +1 -0
  12. package/dist/definitions/system/layout/divider/Divider.d.ts.map +1 -1
  13. package/dist/definitions/system/types.d.ts +10 -9
  14. package/dist/definitions/system/types.d.ts.map +1 -1
  15. package/dist/index-metro.es.android.js +146 -9
  16. package/dist/index-metro.es.android.js.map +1 -1
  17. package/dist/index-metro.es.ios.js +146 -9
  18. package/dist/index-metro.es.ios.js.map +1 -1
  19. package/dist/index-node-22.22.cjs.js +145 -6
  20. package/dist/index-node-22.22.cjs.js.map +1 -1
  21. package/dist/index-node-22.22.cjs.web.js +145 -6
  22. package/dist/index-node-22.22.cjs.web.js.map +1 -1
  23. package/dist/index-node-22.22.es.mjs +145 -7
  24. package/dist/index-node-22.22.es.mjs.map +1 -1
  25. package/dist/index-node-22.22.es.web.mjs +145 -7
  26. package/dist/index-node-22.22.es.web.mjs.map +1 -1
  27. package/dist/index.es.js +141 -9
  28. package/dist/index.es.js.map +1 -1
  29. package/dist/index.es.web.js +141 -9
  30. package/dist/index.es.web.js.map +1 -1
  31. package/dist/tsbuildinfo +1 -1
  32. package/docs/migration/Sticker.md +222 -0
  33. package/package.json +1 -1
  34. package/src/index.ts +2 -0
  35. package/src/system/dataDisplays/Sticker/Sticker.features.stories.tsx +50 -0
  36. package/src/system/dataDisplays/Sticker/Sticker.mdx +38 -0
  37. package/src/system/dataDisplays/Sticker/Sticker.stories.tsx +49 -0
  38. package/src/system/dataDisplays/Sticker/Sticker.tsx +52 -0
  39. package/src/system/dataDisplays/Sticker/__snapshots__/Sticker.features.stories.tsx.snap +747 -0
  40. package/src/system/dataDisplays/Sticker/__snapshots__/Sticker.stories.tsx.snap +52 -0
  41. package/src/system/dataDisplays/Sticker/__snapshots_web__/Sticker.features.stories.tsx.snap +294 -0
  42. package/src/system/dataDisplays/Sticker/__snapshots_web__/Sticker.stories.tsx.snap +35 -0
  43. package/src/system/dataDisplays/Sticker/components/StickerLabel.tsx +33 -0
  44. package/src/system/dataDisplays/Sticker/context.ts +10 -0
  45. package/src/system/dataDisplays/Sticker/types.ts +61 -0
  46. package/src/system/layout/divider/Divider.tsx +7 -2
  47. package/src/system/layout/divider/__snapshots_web__/Divider.features.stories.tsx.snap +7 -0
  48. package/src/system/layout/divider/__snapshots_web__/Divider.stories.tsx.snap +1 -0
  49. package/src/system/types.ts +26 -14
@@ -854,7 +854,7 @@ function Icon(props) {
854
854
  });
855
855
  }
856
856
 
857
- const context = core.createStyledContext({
857
+ const context$1 = core.createStyledContext({
858
858
  size: 'large',
859
859
  type: 'secondary',
860
860
  isOnContrasted: false,
@@ -886,7 +886,7 @@ function ButtonIcon({
886
886
  type,
887
887
  disabled,
888
888
  isOnContrasted
889
- } = context.useStyledContext();
889
+ } = context$1.useStyledContext();
890
890
  const color = getButtonContentColor(type, disabled, isOnContrasted);
891
891
  return /*#__PURE__*/jsxRuntime.jsx(Icon, {
892
892
  icon: icon,
@@ -979,7 +979,7 @@ function ButtonText({
979
979
  size,
980
980
  disabled,
981
981
  isOnContrasted
982
- } = context.useStyledContext();
982
+ } = context$1.useStyledContext();
983
983
  const color = getButtonContentColor(type, disabled, isOnContrasted);
984
984
  return /*#__PURE__*/jsxRuntime.jsxs(VStack, {
985
985
  children: [/*#__PURE__*/jsxRuntime.jsx(Typography.Text, {
@@ -996,7 +996,7 @@ function ButtonText({
996
996
 
997
997
  const InternalButtonFrame = core.styled(HStack, {
998
998
  name: 'Button',
999
- context,
999
+ context: context$1,
1000
1000
  role: 'button',
1001
1001
  alignItems: 'center',
1002
1002
  justifyContent: 'center',
@@ -1017,7 +1017,7 @@ const InternalButtonFrame = core.styled(HStack, {
1017
1017
  const {
1018
1018
  isOnContrasted,
1019
1019
  disabled
1020
- } = context.useStyledContext();
1020
+ } = context$1.useStyledContext();
1021
1021
  const commonTypeStyle = {
1022
1022
  backgroundColor: `$button.bg.${type}${isOnContrasted ? '.onContrasted' : ''}.default`,
1023
1023
  hoverStyle: {
@@ -1143,7 +1143,7 @@ const Button = core.withStaticProperties(InternalButton, {
1143
1143
 
1144
1144
  const InternalIconButtonFrame = core.styled(InternalButton, {
1145
1145
  name: 'IconButton',
1146
- context,
1146
+ context: context$1,
1147
1147
  variants: {
1148
1148
  size: {
1149
1149
  small: {
@@ -1171,6 +1171,144 @@ const IconButton = core.withStaticProperties(InternalIconButton, {
1171
1171
  Badge: ButtonBadge
1172
1172
  });
1173
1173
 
1174
+ const context = core.createStyledContext({
1175
+ color: 'green',
1176
+ size: 'small',
1177
+ disabled: false
1178
+ });
1179
+
1180
+ /* eslint-disable @ornikar/kitt/prefer-semantic-tokens --
1181
+ * Sticker intentionally exposes 12 palette-level decorative colors agreed with design.
1182
+ */
1183
+ const STICKER_COLORS = {
1184
+ green: {
1185
+ background: '$palette.rainbow.green-grass',
1186
+ text: '$palette.rainbow.green-apple'
1187
+ },
1188
+ greenDark: {
1189
+ background: '$palette.rainbow.green-pine',
1190
+ text: '$palette.rainbow.blue-sky'
1191
+ },
1192
+ blue: {
1193
+ background: '$palette.rainbow.blue-sky',
1194
+ text: '$palette.rainbow.green-pine'
1195
+ },
1196
+ blueDark: {
1197
+ background: '$palette.rainbow.blue-electric',
1198
+ text: '$palette.beige.3'
1199
+ },
1200
+ red: {
1201
+ background: '$palette.rainbow.brick',
1202
+ text: '$palette.rainbow.sun'
1203
+ },
1204
+ orange: {
1205
+ background: '$palette.rainbow.orange',
1206
+ text: '$palette.beige.2'
1207
+ },
1208
+ pink: {
1209
+ background: '$palette.rainbow.pink',
1210
+ text: '$palette.rainbow.brick'
1211
+ },
1212
+ gold: {
1213
+ background: '$palette.rainbow.gold',
1214
+ text: '$palette.beige.1'
1215
+ },
1216
+ cream: {
1217
+ background: '$palette.beige.1',
1218
+ text: '$palette.rainbow.brick'
1219
+ },
1220
+ linen: {
1221
+ background: '$palette.beige.3',
1222
+ text: '$palette.deepPurple.8'
1223
+ },
1224
+ lightning: {
1225
+ background: '$palette.lightning.5',
1226
+ text: '$palette.lightning.9'
1227
+ },
1228
+ lightningDark: {
1229
+ background: '$palette.lightning.9',
1230
+ text: '$palette.lightning.5'
1231
+ },
1232
+ disabled: {
1233
+ background: '$bg.disabled.hi',
1234
+ text: '$content.disabled.onContrasted'
1235
+ }
1236
+ };
1237
+
1238
+ const TYPOGRAPHY_VARIANT_BY_SIZE = {
1239
+ small: 'content-caps-xs',
1240
+ medium: 'content-caps-m',
1241
+ large: 'content-caps-l'
1242
+ };
1243
+ function InternalStickerLabel({
1244
+ children
1245
+ }) {
1246
+ const {
1247
+ color,
1248
+ size,
1249
+ disabled
1250
+ } = context.useStyledContext();
1251
+ const textColor = STICKER_COLORS[disabled ? 'disabled' : color].text;
1252
+ return /*#__PURE__*/jsxRuntime.jsx(InternalTypography, {
1253
+ variant: TYPOGRAPHY_VARIANT_BY_SIZE[size],
1254
+ color: textColor,
1255
+ numberOfLines: 1,
1256
+ ellipsizeMode: "tail",
1257
+ children: children
1258
+ });
1259
+ }
1260
+
1261
+ const InternalStickerFrame = core.styled(core.View, {
1262
+ name: 'Sticker',
1263
+ context,
1264
+ alignSelf: 'flex-start',
1265
+ maxWidth: '100%',
1266
+ padding: '$space.4',
1267
+ variants: {
1268
+ label: {},
1269
+ size: {
1270
+ small: {
1271
+ borderRadius: '$radius.s'
1272
+ },
1273
+ medium: {
1274
+ borderRadius: '$radius.m'
1275
+ },
1276
+ large: {
1277
+ borderRadius: '$radius.m'
1278
+ }
1279
+ },
1280
+ color: color => {
1281
+ const {
1282
+ disabled
1283
+ } = context.useStyledContext();
1284
+ return {
1285
+ backgroundColor: STICKER_COLORS[disabled ? 'disabled' : color].background
1286
+ };
1287
+ }
1288
+ },
1289
+ defaultVariants: {
1290
+ size: 'small',
1291
+ color: 'green'
1292
+ }
1293
+ });
1294
+ const InternalSticker = InternalStickerFrame.styleable(props => {
1295
+ const {
1296
+ label,
1297
+ ...frameProps
1298
+ } = useProps(props);
1299
+ return /*#__PURE__*/jsxRuntime.jsx(InternalStickerFrame, {
1300
+ ...frameProps,
1301
+ children: /*#__PURE__*/jsxRuntime.jsx(InternalStickerLabel, {
1302
+ children: label
1303
+ })
1304
+ });
1305
+ });
1306
+ function Sticker(props) {
1307
+ return /*#__PURE__*/jsxRuntime.jsx(InternalSticker, {
1308
+ ...props
1309
+ });
1310
+ }
1311
+
1174
1312
  function getValueForBreakpoint(breakpoint, {
1175
1313
  base,
1176
1314
  small,
@@ -1235,6 +1373,7 @@ exports.HStack = HStack;
1235
1373
  exports.IconButton = IconButton;
1236
1374
  exports.Loader = Loader;
1237
1375
  exports.Pressable = Pressable;
1376
+ exports.Sticker = Sticker;
1238
1377
  exports.SwitchBreakpoints = SwitchBreakpoints;
1239
1378
  exports.Typography = Typography;
1240
1379
  exports.VStack = VStack;