Let's design a digit mosaic
JavaScript (ES7), 70 bytes

Takes input as a string. Returns a string with a trailing linefeed.

s=&gt;(g=x=&gt;(c=s[(x&gt;y?x:y)**.5-1&gt;&gt;1])?c+g(x+8):x&gt;y?`
`+g(1,y+=8):'')(y=1)


Try it online!

How?

Method

We build the output character by character by walking through a square matrix and converting each cell into an index \$i_{x,y}\$ into the input string.

Coordinates to string index

The upper bound \$u_{n}\$ of the \$n^{th}\$ digit area (0-indexed) along each axis is given by A000096:

$$u_{n} = \frac{n(n+3)}{2}$$
$$u_{0}=0,u_{1}=2,u_{2}=5,u_{3}=9,u_{4}=14,u_{5}=20,\dots$$

Given an integer \$k\$, we can find out in which area \$n=\lfloor{x}\rfloor+1\$ it is located by solving:

$$x²+3x-2k=0$$

Leading to:

$$x = \frac{\sqrt{1+8k}-3}{2}$$
$$n = \left\lfloor\frac{\sqrt{1+8k}-3}{2}\right\rfloor+1=\left\lfloor\frac{\sqrt{1+8k}-1}{2}\right\rfloor$$

For each cell \$(x, y)\$, we define:

$$v_{x,y} = \max(1+8x,1+8y)$$

These values \$v_{x,y}\$ are converted into indices \$i_{x,y}\$ into the input string by doing:

$$i_{x,y} = \left\lfloor\frac{\sqrt{v_{x,y}}-1}{2}\right\rfloor$$

 v(x,y) |  0  1  2  3  4  5  6  7  8  9        i(x,y) |  0  1  2  3  4  5  6  7  8  9
--------+-------------------------------      --------+-------------------------------
    0   |  1  9 17 25 33 41 49 57 65 73           0   |  0  1  1  2  2  2  3  3  3  3
    1   |  9  9 17 25 33 41 49 57 65 73           1   |  1  1  1  2  2  2  3  3  3  3
    2   | 17 17 17 25 33 41 49 57 65 73           2   |  1  1  1  2  2  2  3  3  3  3
    3   | 25 25 25 25 33 41 49 57 65 73           3   |  2  2  2  2  2  2  3  3  3  3
    4   | 33 33 33 33 33 41 49 57 65 73   --&gt;     4   |  2  2  2  2  2  2  3  3  3  3
    5   | 41 41 41 41 41 41 49 57 65 73           5   |  2  2  2  2  2  2  3  3  3  3
    6   | 49 49 49 49 49 49 49 57 65 73           6   |  3  3  3  3  3  3  3  3  3  3
    7   | 57 57 57 57 57 57 57 57 65 73           7   |  3  3  3  3  3  3  3  3  3  3
    8   | 65 65 65 65 65 65 65 65 65 73           8   |  3  3  3  3  3  3  3  3  3  3
    9   | 73 73 73 73 73 73 73 73 73 73           9   |  3  3  3  3  3  3  3  3  3  3


Halting conditions

We know that we've reached:


the right boundary of the matrix when the character at \$i_{x,y}\$ does not exist and we have \$x &gt; y\$
the bottom boundary of the matrix when the character does not exist and we have \$x \le y\$